基于USB的樁基靜載荷無線測控系統設計
2 接收機設計
接收機由Cypress公司的CY7C68013芯片擴展而來。CY7C68013包括1個8051處理器,1個串行接口引擎(SIE),1個USB收發器,8.5 KB片上RAM,4 KBFIFO存儲器以及1個通用可編程接口(GPIF)。智能串行接口引擎(SIE)執行所有基本的USB功能,并將嵌入式MCU解放出來以用于實現專用的功能,保證其持續的高性能的傳輸速率。
2.1 硬件設計
CY7C68013有三種可用的接口模式:端口、GPIF主控和從FIFO。本系統采用此GPIF主控模式,GPIF作為內部的主控制器與FIFO直接相連,通過編程來決定控制信號的輸出狀態。對于接口數據的總8位,選擇FD[7:0]引腳,并設置WORDWIDE=0。控制輸出引腳CTLn被用作讀和寫選通信號。準備好輸入引腳RDYn,通過GPIF采樣,并且能強制進行等待,繼續或重復等操作,直至進入特定的狀態。GPIF地址線隨著數據傳輸產生地址累加。芯片時鐘被配置為48 MHz的內部時鐘,通過IFCLK引腳輸出,見圖2。本文引用地址:http://www.104case.com/article/202590.htm
2.2 程序設計
2.2.1 固件設計
固件(Firmware)直接與硬件進行通信,主要功能是負責接受和處理主機發給設備的各種請求,并向主機返回設備的狀態信息。Cypress公司為了簡化固件代碼的開發過程,特別設計一個固件程序框架,框架如圖3所示。主要工作是完成初始化、USB標準設備請求的處理和USB掛起電源管理服務。使用框架來構造固件程序,首先框架初始化內部的狀態變量,調用用戶初始化函數TD_Init()。該函數返回后,初始化USB接口到未配置狀態并使能中斷。每隔1s進行一次設備重枚舉,直到端點接受到一個SETUP包。函數TD_Init()在框架初始化期間被調用,在設備重枚舉和任務調度啟用之前調用該函數,用來初始化用戶的全局變量。
評論