基于CY7C68013的高速数据传输系统的设计
2 固件程序设计
由于高速数据传输不需要固件程序参与,固件程序仅仅处理主机的发送请求。在发送端,固件将数据放置到I/O口上供MAX7128读取;在接收端,MAX7128完成串并转换后,将数据用特定时序写入CY7C68013。此时只需设定寄存器,固件程序相对简单,图2为发送和接收固件程序流程。
CY7C68013芯片固件程序负责处理主(从)机发送来的各种请求,以完成与外围电路间的各种数据传输。本系统固件一共包含九个程序文件,其中的头文件分别定义了CY7C68013中的寄存器名和特殊功能寄存器、通用的CY7C68013常量、数据类型和宏、特殊功能寄存器所需要的同步延迟宏、用来描述CY7C68013状态的各种USB描述符、INT2和INT4中断跳转表等。主函数负责处理标准USB请求和自定义请求,控制整个硬件系统的运行。接收端固件主循环不用做任何操作,与发送端程序流程图完全相同。其固件运行的主程序清单如下,负责处理主机发出的各种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();
评论