基于數(shù)據(jù)采集系統(tǒng)中的DSP控制回路設(shè)計(jì)
MAX 5633的輸入口為SPI接口,要實(shí)現(xiàn)與DSP通信,需將C5416的MCBSP0口配置成SPI口。MCBSP在結(jié)構(gòu)上可分為1個(gè)數(shù)據(jù)通道和1個(gè)控制通道。表1給出了有關(guān)引腳的信號(hào)定義。DX引腳負(fù)責(zé)數(shù)據(jù)的發(fā)送,DR引腳負(fù)責(zé)數(shù)據(jù)的接收,另外4個(gè)引腳提供控制信號(hào)(時(shí)鐘和幀同步)。C5416通過片內(nèi)的外設(shè)總線訪問串口的控制寄存器實(shí)現(xiàn)與MCBSP的通信和控制。
數(shù)據(jù)通道完成數(shù)據(jù)的收發(fā)。CPU和DMA控制器向數(shù)據(jù)發(fā)送寄存器(DXR)中寫入要發(fā)送的數(shù)據(jù),從數(shù)據(jù)接收寄存器(DRR)讀取接收到的數(shù)據(jù)。寫入DXR的數(shù)據(jù)通過發(fā)送移位寄存器(XSR)移位輸出至DX引腳。同樣,DR引腳上接收到的數(shù)據(jù)先移位進(jìn)入接收轉(zhuǎn)換寄存器(RSR)中,然后被復(fù)制到接收緩沖寄存器(RBR),RBR再將數(shù)據(jù)復(fù)制到DRR中,最后等待CPU和DMA控制器讀取數(shù)據(jù)。這種多級(jí)緩沖方式使得片內(nèi)的數(shù)據(jù)搬移和外部數(shù)據(jù)的通信可以同時(shí)進(jìn)行。
4 硬件連接電路
MAX 5633與C5416的硬件連接如圖1所示。片選CS可控制MAX 5633是否被選中。CS為低后,所有的轉(zhuǎn)換開始有效。DIN為串行數(shù)據(jù)輸入,SCLK為外部時(shí)鐘輸入。CLKSEL為時(shí)鐘選擇端,當(dāng)C0或者該腳為高電平時(shí),系統(tǒng)選擇外部時(shí)鐘模式,此時(shí)內(nèi)部時(shí)鐘模式將被關(guān)閉。所給出的硬件連接圖為外部時(shí)鐘模式。ECLK為外部時(shí)鐘模式控制引腳,可用于控制外部時(shí)鐘。RST為輸入復(fù)位端。DSP的BCLK0口與D/A的SCLK相連作為MAX 5633的外部時(shí)鐘,DSP的BDX0口與D/A的DIN相連作為MAX 5633的數(shù)據(jù)輸入,DSP的BFSX0口與D/A的/CS相連作為MAX 5633芯片選擇端。由于MAX 5633輸入?yún)⒖茧妷狠^多,為了盡量減小電壓的波紋對(duì)其精度的影響,需要根據(jù)實(shí)際情況進(jìn)行濾波。
5 軟件程序設(shè)計(jì)
下面是針對(duì)硬件連接電路給出相應(yīng)的C語言程序。該程序?qū)CBSP0配置成時(shí)鐘停止模式(SPI)的主模式。其中SPI的時(shí)鐘設(shè)置成1 MHz,幀數(shù)據(jù)長度為24位(如圖2所示)。幀的24位中C0,C2為控制方式選擇位;A0~A4為通道選擇位,可以選擇0~31共32個(gè)通道;D0~D15為需要傳輸?shù)?6位數(shù)據(jù)。
評(píng)論