隨著能源需求的日益短缺,科技的日趨智能化,高效便捷的通信模式已日趨成為人們生產生活的必然趨勢,中科昊芯順應時代要求,推出適用于高精度工業自動化運動控制的新版HXS320F28034數字信號處理器DSP,其SCI模塊兩大主要功能:FIFO通信、自動波特率分別以多種字節延遲周期配置與傳輸波特率適配多種緩慢UART串行外設通信,可更有效助力于工程師實現高效便捷指令收發與實時反饋數據接收顯示,典型應用如下圖。
PC端通過串行數據總線,與UART串口通信模塊,向DSP端發送位置控制指令,采用《平頭哥CDK助力中科昊芯HX2000系列芯片之雙電機有感FOC控制系統專題(四)拓展:永磁電機三閉環有感伺服控制》系統輸出PWM波,驅動MOSFET/IGBT逆變,控制PMSM實現三閉環有感伺服控制,系統端反饋信號通過SCI模塊接收,由DSP通過UART串口通信,向PC端連續發送反饋數據,通過“LabVIEW”等調試軟件實時讀取顯示,將更有效助力于工程師完成實時高效的在線調試。
自平頭哥半導體有限公司的劍池集成開發環境(簡稱“CDK”)支持HX2000系列芯片調試以來,本期推出專題講解SCI串口通信,分為三期講解,本期主要講解SCI串口FIFO通信原理,SCI串口自動波特率與FIFO中斷邏輯將在后續兩期內容中逐步介紹。
HX2000系列SCI模塊原理如下圖所示,通過系統SYSCLK的低速時鐘LSPCLK,配置SCI傳輸波特率。通過SCIFFCT延遲寄存器,可配置字傳輸間延遲,0到256個波特時鐘周期,以匹配多種緩慢的SCI/UART通信傳輸延遲。通過SCIFFTX[SCIFFENA]使能,可選擇SCI工作于FIFO模式,其發送、接收與讀取過程如下:
(1)發送過程:DSP端通過CPU,將數據裝載到發送端TX_FIFO寄存器。裝載的數據將存放在發送緩沖寄存器SCITXBUF中。使能發送TXENA信號,通過TXSHF移位寄存器,逐步將SCITXBUF中的數據,移位到SCITXD引腳上。通過GPIOMUX配置發送SCITXD引腳,通過CH430等串行數據傳輸線向PC發送數據,以實現發送功能。
(2)接收過程:通過GPIOMUX配置SCIRXD引腳,使得DSP端接收,PC端通過CH430等串行數據傳輸線發送的數據。使能接收RXENA信號,通過RXSHF移位寄存器,逐步將接收數據,移位到接收數據緩沖寄存器SCIRXBUF。通過CPU將接收的數據,裝載到接收RX_FIFO寄存器中,以實現接收功能。
(3)讀取過程:通過SCIFFRX[RXFFST]可判斷,當前是否接收到相應字節深度的數據,以便于CPU讀取接收到的數據。
由此設計SCI串口FIFO通信實例:采用SCI與串口CH340,通過串口調試助手,向CPU發送任意一組4字節數據,CPU接收所發送的數據,硬件連接如下圖所示:
實例所采用軟硬件開發環境詳見上一篇推文《芯教程|平頭哥助力中科昊芯HX2000系列芯片之HRCAP高精度脈沖捕獲》。
基于以上分析,在CDK上開發SCI串口FIFO通信輸出程序,代碼包括:SCI GPIO外設引腳配置,FIFO功能配置程序,發送與接收程序,主程序調用執行。主要代碼如下:
1.intmain(void)
2.{
3./*初始化系統控制*/
4.InitSysCtrl();
5./*初始化內存控制寄存器,使能內存流水線模式*/
6.InitFlash();
7./*初始化串口通信的GPIO口:GPIO28: SCIRXDA,GPIO29: SCITXDA*/
8.InitSciGpio();
9./*SCI寄存器FIFO功能配置*/
10.Scia_Config(9600);
11./*通過SCI發送字符串*/
12.Scia_Print("-----------scififotest------------\r\n");
13.Scia_Print("BaudRate:9600\r\n");
14.Scia_Print("DataBits:8\r\n");
15.Scia_Print("Parity:none\r\n");
16.Scia_Print("StopBits:1\r\n");
17.Scia_Print("\r\n");
18.Scia_Print("Pleasesendsomemessage,(level:4)\r\n");
19.for(;;)
20.{
21./*判斷SCI是否接收到4字節數據,以便于CPU讀取數據*/
22.if(SciaRegs.SCIFFRX.bit.RXFFST==4)
23.{
24.for(i=0;i4;?i++)
25.{
26.receiveData[i]=SciaRegs.SCIRXBUF.bit.RXDT;
27.}
28.Scia_Print((char*)receiveData);
29.Scia_Print("\r\n");
30.}
31.}
32.return0;
33.}
CDK上開發SCI串口FIFO通信程序,
其編譯結果為:
編譯通過后,可以開始調試了,其調試結果為:
調試后,可通過串口調試助手查看發送與接收到的數據與停止位狀態如下圖:
關于中科昊芯
“智由芯生 創享未來”,中科昊芯是數字信號處理器專業供應商。作為中國科學院科技成果轉化企業,瞄準國際前沿芯片設計技術,依托多年積累的雄厚技術實力及對產業鏈的理解,以開放積極的心態,基于開源指令集架構RISC-V,打造多個系列數字信號處理器產品,并構建完善的處理器產品生態系統。產品具有廣闊的市場前景,可廣泛應用于工業控制及電機驅動、數字電源、光伏、儲能、新能源汽車、消費電子、白色家電等領域。
-
芯片
+關注
關注
454文章
50460瀏覽量
421967 -
通信
+關注
關注
18文章
5977瀏覽量
135870
發布評論請先 登錄
相關推薦
評論