自中科昊芯推出专题讲解sci串口通信以来,第一期主要讲解sci串口fifo通信原理,第二期主要讲解sci串口自动波特率,本期主要讲解fifo中断通信逻辑。
hx2000系列sci模块原理与中断逻辑如下,中断逻辑为:当scitxbuf数据被传输到txshf寄存器时,将通过scictl[txrdy]产生一个发送中断,使能scictl[txintena]打开发送中断信号,将通过pie响应cpu执行,使得cpu可以连续写数据到scitxbuf,使得sci模块可以向pc端连续发送数据。当sci接收一个完整帧,并将rxshf寄存器中的数据传输到scirxbuf寄存器中,将通过scirxst[rxrdy]产生一个接收中断,使能scictl[rxbkintena]打开接收中断信号,将通过pie响应cpu执行,使得cpu读取pc端发送的数据帧。
由此设计sci串口fifo中断通信实例:采用sci与串口ch340,连续发送数据,pc端接收发送的数据;通过串口调试助手,向cpu发送任意一组数据,cpu接收发送的数据。
基于以上分析,在cdk上开发sci串口fifo中断通信输出程序,代码包括:sci gpio外设引脚配置,fifo功能配置,发送与接收中断程序,主程序调用执行。主要代码如下:
1.int main(void)2.{ 3. /*初始化系统控制*/4. initsysctrl();5. /*初始化内存控制寄存器,使能内存流水线模式*/6. initflash();7. /*初始化串口通信的gpio口:gpio28: scirxda,gpio29: scitxda*/8. initscigpio();9. /*不使能cpu中断*/10. ier=0x0000;11. /*清除所有的cpu中断标志*/12. ifr=0x0000;13. /*初始化中断向量表*/14. initpievecttable();15. eallow;16. /*向量表地址scitxinta指向执行循环发送中断服务程序*/17. pievecttable.scitxinta=&scia_send;18. /*向量表地址scirxinta指向执行接收数据中断服务程序*/19. pievecttable.scirxinta=&scia_received;20. edis;21. /*sci寄存器fifo功能配置*/22. scia_config(9600);23. /*打开cpu的ier的第9组中断向量*/24. ier|=m_int9;25. /*打开pieier的第9组的第一与第二个中断向量*/26. piectrlregs.pieier9.bit.intx1=1;27. piectrlregs.pieier9.bit.intx2=1;28. /*使能全局中断向量*/29. eint;30. for (;;)31. {}32. return 0;33.}
cdk上开发sci串口fifo中断通信程序,其编译结果为:
编译通过后,就可以开始调试了,dsp端连续发送数据的调试结果如下:
pc端发送数据的调试结果如下:
调试后,可通过串口调试助手查看发送与接收到的数据如下图:
关于中科昊芯
“智由芯生 创享未来”,中科昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构risc-v,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制及电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。
恐遭美国列入贸易黑名单?蚂蚁集团回应:业务主要在中国发展
工业控制中可编程逻辑控制器模块设计方案
基于RISC-V内核单片机移植RTOS实时操作系统(三)
云服务下的媒体生态有什么改变
甲烷检测仪预防液化气体泄漏的特点
芯教程丨平头哥助力中科昊芯HX2000系列芯片专题SCI串口通信(三)FIFO中断通信
台积电7nm技术已经试产 苹果高通均产生浓厚兴趣
中国移动正式发布了2020年PC服务器集中采购公告
两三万的电动四轮车好不好?
现代在在洛杉矶共享汽车测试服务,每小时12美元
为什么叫独石电容
央视联合腾讯发布报告:九成受访者认为AI距离自己不遥远
实力证明品质,荣耀9一个月销量突破100万,互联网NO.1品牌毫无疑问
普渡科技宣布完成B轮融资,融资金额超过亿元
NVIDIA Omniverse平台助力三维重建服务协同发展
后补贴时代下新能源汽车产业新一轮洗牌已不可避免,未来到底该如何发展?
介绍4种最好的火花塞清洗方法
中国联通VR业务发展白皮书:5G网络为基础的VR产业迎来高速发展机遇
永磁同步电动机的原理与结构详解
CES大会将近 福特将展示最新一代的自动驾驶汽车