基于CY7C68013的高速數據傳輸系統(tǒng)的設計
2 固件程序設計
由于高速數據傳輸不需要固件程序參與,固件程序僅僅處理主機的發(fā)送請求。在發(fā)送端,固件將數據放置到I/O口上供MAX7128讀??;在接收端,MAX7128完成串并轉換后,將數據用特定時序寫入CY7C68013。此時只需設定寄存器,固件程序相對簡單,圖2為發(fā)送和接收固件程序流程。
CY7C68013芯片固件程序負責處理主(從)機發(fā)送來的各種請求,以完成與外圍電路間的各種數據傳輸。本系統(tǒng)固件一共包含九個程序文件,其中的頭文件分別定義了CY7C68013中的寄存器名和特殊功能寄存器、通用的CY7C68013常量、數據類型和宏、特殊功能寄存器所需要的同步延遲宏、用來描述CY7C68013狀態(tài)的各種USB描述符、INT2和INT4中斷跳轉表等。主函數負責處理標準USB請求和自定義請求,控制整個硬件系統(tǒng)的運行。接收端固件主循環(huán)不用做任何操作,與發(fā)送端程序流程圖完全相同。其固件運行的主程序清單如下,負責處理主機發(fā)出的各種USB請求。
……
TD_Init();//初始化用戶設備
EZUSB_IRQ_ENABLE();//使能USB中斷(INT2)
EZUSB_ENABLE_RSMIRQ();//使能喚醒中斷
INTSETUP |=(bmAV2EN | bmAV4EN);//使能INT2
//和INT4中斷跳轉向量
USBIE |=bmSUDAV | bmSUTOK | bmSUSP | bmURES |
bmHSGRANT;//使能所選擇的中斷
EA=1;//打開8051中斷
UsbDisconnect();
評論