自中科昊芯推出專題講解SCI串口通信以來,第一期主要講解SCI串口FIFO通信原理,第二期主要講解SCI串口自動波特率,本期主要講解FIFO中斷通信邏輯。
HX2000系列SCI模塊原理與中斷邏輯如下,中斷邏輯為:當SCITXBUF數(shù)據(jù)被傳輸?shù)絋XSHF寄存器時,將通過SCICTL[TXRDY]產(chǎn)生一個發(fā)送中斷,使能SCICTL[TXINTENA]打開發(fā)送中斷信號,將通過PIE響應CPU執(zhí)行,使得CPU可以連續(xù)寫數(shù)據(jù)到SCITXBUF,使得SCI模塊可以向PC端連續(xù)發(fā)送數(shù)據(jù)。當SCI接收一個完整幀,并將RXSHF寄存器中的數(shù)據(jù)傳輸?shù)絊CIRXBUF寄存器中,將通過SCIRXST[RXRDY]產(chǎn)生一個接收中斷,使能SCICTL[RXBKINTENA]打開接收中斷信號,將通過PIE響應CPU執(zhí)行,使得CPU讀取PC端發(fā)送的數(shù)據(jù)幀。
由此設計SCI串口FIFO中斷通信實例:采用SCI與串口CH340,連續(xù)發(fā)送數(shù)據(jù),PC端接收發(fā)送的數(shù)據(jù);通過串口調(diào)試助手,向CPU發(fā)送任意一組數(shù)據(jù),CPU接收發(fā)送的數(shù)據(jù)。
基于以上分析,在CDK上開發(fā)SCI串口FIFO中斷通信輸出程序,代碼包括:SCI GPIO外設引腳配置,F(xiàn)IFO功能配置,發(fā)送與接收中斷程序,主程序調(diào)用執(zhí)行。主要代碼如下:
CDK上開發(fā)SCI串口FIFO中斷通信程序,其編譯結果為:
編譯通過后,就可以開始調(diào)試了,DSP端連續(xù)發(fā)送數(shù)據(jù)的調(diào)試結果如下:
PC端發(fā)送數(shù)據(jù)的調(diào)試結果如下:
調(diào)試后,可通過串口調(diào)試助手查看發(fā)送與接收到的數(shù)據(jù)如下圖:
-
dsp
+關注
關注
556文章
8151瀏覽量
355834 -
寄存器
+關注
關注
31文章
5427瀏覽量
123712 -
數(shù)據(jù)
+關注
關注
8文章
7249瀏覽量
91331 -
串口通信
+關注
關注
34文章
1637瀏覽量
56632
發(fā)布評論請先 登錄
智多晶FIFO_Generator IP介紹

AXI接口FIFO簡介

解鎖TSMaster fifo函數(shù):報文讀取的高效方法

有沒有一款FIFO可以與ADC08200通信?
串口中斷是內(nèi)部中斷還是外部中斷,串口中斷是怎么觸發(fā)的
FIFO IP核的使用教程

AFE4960如何正確的從FIFO中讀取樣本呢?
FIFO Generator的Xilinx官方手冊

FIFO的深度應該怎么計算

Efinity FIFO IP仿真問題 -v1

陀螺儀LSM6DSOW開發(fā)(4)----中斷獲取FIFO數(shù)據(jù)

ASM330LHH使用FIFO閾值中斷輸出時工作異常的原因?
驅動LSM6DS3TR-C實現(xiàn)高效運動檢測與數(shù)據(jù)采集(8)----中斷獲取FIFO數(shù)據(jù)并應用MotionFX庫解析空間坐標

陀螺儀LSM6DSV16X與AI集成(9)----中斷獲取FIFO數(shù)據(jù)并應用MotionFX庫解析空間坐標

具有FIFO的雙異步通信元件TL16C552A數(shù)據(jù)表

評論