基于AT89C5131的接口設計
2 系統(tǒng)實現(xiàn)
要使得上述設計在工程應用中得以實現(xiàn),在硬件設計的基礎上。還需對接口進行軟件設計。AT89C5131的軟件設計主要是USB固件程序的設計,包括系統(tǒng)的初始化,USB接口、UART接口和SPI接口數(shù)據(jù)的收發(fā)以及控制面板按鍵的功能實現(xiàn)幾個方面。軟件設計采用C語言編程,最后軟件通過FLIP下載到AT89C5131芯片中。這里所采用的編譯環(huán)境為KeilμVision 3軟件設計平臺。在具體的工程實現(xiàn)過程中,也遇到了一些問題,但經(jīng)過反復的修改及調試,這些問題都得到了很好的解決,其中主要有以下幾個方面:
按鍵功能實現(xiàn)控制面板按鍵的功能是通過電平觸發(fā)中斷實現(xiàn)的。在設計之初,手動按下一次按鍵總會觸發(fā)多次中斷,對應的LED顯示總會很快的跳變,不能滿足按一次按鍵就顯示一個狀態(tài)的要求,于是筆者就在按鍵功能實現(xiàn)的程序中添加了等待函數(shù),即每發(fā)生完一次中斷,就等待一段時間,經(jīng)過調試,上面的問題沒有再出現(xiàn)。
USB通信系統(tǒng) 系統(tǒng)要求USB能夠快速、高效地實現(xiàn)通信,對于速度問題可以通過Ping-pong模式得以解決。系統(tǒng)還要求USB實現(xiàn)雙向通信,為使其接收和發(fā)送數(shù)據(jù)互不干擾,所以選用了幾個端口實現(xiàn)不同數(shù)據(jù)的傳輸。
SPI端口通信 SPI端口工程實現(xiàn)的關鍵是速度和工作模式的匹配。在設計之初,AT89C5131的SPI工作于從機模式,其數(shù)據(jù)傳輸受到DSP的控制,由于其傳輸速度遠遠低于DSP中SPI端口的處理速度,所以每通過AT89C5131的SPI傳輸一組數(shù)據(jù)時,DSP總需要通過軟件控制等待很長一段時間,既便如此也不能保證數(shù)據(jù)得到正確接收。于是,后來就將AT89C5131的SPI工作模式修改為主機模式,由AT89C5131主動控制數(shù)據(jù)的傳輸。然而實現(xiàn)雙向通信的關鍵是對SS信號的控制,在上述工作模式下,SS必須無效,Slave才能較可靠地向發(fā)送寄存器寫數(shù)。
3 結 語
AT89C5131宜于構成低成本的USB控制和通信系統(tǒng),能實現(xiàn)計算機與設備的通信,并可靈活選擇多種通信協(xié)議。文中介紹基于AT89C5131的接口設計,主要是實現(xiàn)PC機與MCU以及MCU與DSP的通信,該設計已經(jīng)在工程實際中得到應用。經(jīng)過實踐檢驗,證明其合理且操作靈活,具有一定的實用意義。在設計過程中,深切體會到硬件設計與軟件設計的極大不同。編譯正確且邏輯沒有問題的程序源代碼,將其燒寫至芯片后,硬件電路并不一定能完全地實現(xiàn)所要求的功能,所以必須經(jīng)過反復的修改程序、燒寫、調試,直至正確實現(xiàn)功能。
評論