VK3214在DSP串口擴(kuò)展中的應(yīng)用
初始化
本文引用地址:http://cafeforensic.com/article/116962.htmDSP首先通過(guò)發(fā)送一個(gè)低電平信號(hào)實(shí)現(xiàn)VK3214的復(fù)位,然后根據(jù)復(fù)位后VK3214主接口全局主串口控制寄存器的默認(rèn)值對(duì)VK3214的主串口進(jìn)行配置,由于晶振的頻率為14.7456MHZ,因此VK3214的主接口的默認(rèn)波特率為38400。然后通過(guò)主串口對(duì)子串口進(jìn)行配置,一般需要配置的寄存器有子串口控制寄存器、子串口配置寄存器、子串口FIFO控制寄存器、子串口子串口中斷使能寄存器。本文對(duì)這幾個(gè)子串口寄存器的配置如下:控制寄存器的配置為采用標(biāo)準(zhǔn)串口模式,RS232收發(fā)模式,9600的波特率;配置寄存器的配置為不使用子串口強(qiáng)制校驗(yàn),1 位停止位,無(wú)校驗(yàn)位(8 位數(shù)據(jù))。FIFO控制寄存器的配置為:使能接收FIFO,接收到的數(shù)據(jù)寫入接收FIFO, 當(dāng)接收FIFO的數(shù)據(jù)增加到1字節(jié)時(shí),提示主機(jī)接口從接收FIFO中讀取數(shù)據(jù),使能發(fā)送FIFO,待發(fā)送的數(shù)據(jù)寫入發(fā)送FIFO,通過(guò)FIFO發(fā)送。子串口中斷使能寄存器的配置為使能接收FIFO觸點(diǎn)中斷,禁止發(fā)送FIFO觸點(diǎn)中斷,禁止FIFO 數(shù)據(jù)錯(cuò)誤產(chǎn)生中斷。
上行通信
上行通信指?jìng)鞲衅鲾?shù)據(jù)通過(guò)VK3214發(fā)送給DSP,軟件流程如圖2所示,幾個(gè)傳感器采用搶占方式,任何一個(gè)傳感器產(chǎn)生數(shù)據(jù)后立即通過(guò)子串口發(fā)送給VK3214,VK3214子串口將接收數(shù)據(jù)放入FIFO數(shù)據(jù)寄存器中,同時(shí)產(chǎn)生中斷,通知DSP讀取數(shù)據(jù)。DSP接到中斷信號(hào)后對(duì)VK3214的中斷狀態(tài)寄存器進(jìn)行讀取,以確定是哪個(gè)子串口有數(shù)據(jù),然后通過(guò)讀取這一子串口的FIFO狀態(tài)寄存器,以確定子串口FIFO數(shù)據(jù)寄存器中的字節(jié)個(gè)數(shù),最后從這一子串口的FIFO數(shù)據(jù)寄存器中讀取相應(yīng)數(shù)量的字節(jié)數(shù)據(jù),從而完成上行通信的整個(gè)過(guò)程。
下行通信
下行通信指DSP數(shù)據(jù)通過(guò)VK3214發(fā)送給各個(gè)傳感器,軟件流程如圖3所示。當(dāng)DSP產(chǎn)生數(shù)據(jù)時(shí),通過(guò)主串口發(fā)送給VK3214,并指明子串口的編號(hào),VK3214接收到數(shù)據(jù)后存放在相應(yīng)子串口的發(fā)送FIFO中,通過(guò)發(fā)送FIFO發(fā)給傳感器,從而完成下行通信的整個(gè)過(guò)程。
結(jié)束語(yǔ)
為完善飛行控制器與多個(gè)數(shù)字傳感器的通信功能,本文通過(guò)VK3214這款芯片實(shí)現(xiàn)了串口擴(kuò)展,文中給出了硬件連接圖,并對(duì)芯片初始化、上行通信和下行通信的流程進(jìn)行了描述。由于該芯片不需要地址信號(hào)和控制信號(hào)線,因此它的電路結(jié)構(gòu)比較簡(jiǎn)單,適合于工程應(yīng)用。
電路圖符號(hào)相關(guān)文章:電路圖符號(hào)大全
評(píng)論