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