標題: 一個單片機與其他芯片通信的時序圖,求大神解答 [打印本頁]

作者: maladan    時間: 2023-6-2 16:17
標題: 一個單片機與其他芯片通信的時序圖,求大神解答

如上圖,目的是通過圖中的時序讀出DATAOUT的數(shù)據(jù),DATAOUT是并行的,有8個IO,代表bit0---biy7單片機用的  stm32f1
AdrIn對應芯片4個并行IO,接到單片機四個IO,分別代表bit0---bit4,表示地址0-15


片選CS拉低保持時間t1:  大于20ns
地址提前準備時間t2 :  大于5ns
片選CS拉高保持時間t3:大于20ns
輸入地址保持時間t4:  大于20ns
數(shù)據(jù)輸出準備時間t5:  最大20ns
數(shù)據(jù)輸出延時td:最大200ns
以下是數(shù)據(jù)手冊的說明:
“在CLK-IN信號的每一個上升邊緣后,數(shù)據(jù)被采樣并保存。數(shù)據(jù)在CS下降邊緣后的最新200ns(數(shù)據(jù)輸出延遲)時可在數(shù)據(jù)總線上提供。地址數(shù)據(jù)的提供通過ClkOut和AdrOut相應地表示

偽代碼:
void  readAllData(void)
{
    for(i = 0; i<16;  i++)  //從地址0開始讀
    {
        CLKIN = 0;
        CS = 1;
        CLKIN  =1;
        AddrInSet(i);  //根據(jù)地址更改AdrIn的四個IO電平
        delay-ns(10);
        CS = 0;   
        delay-ns(300);
        readDataout();   //讀取8個IO電平組成一個字節(jié)
        CS = 1;
        CLK = 1;
    }
}

這樣一番操作數(shù)據(jù)始終不對,大神能幫忙看看這個代碼對應這個時序哪里有問題







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1