孫宇偉*,苗世亮,王 琰,黃 凱
(北京精密機(jī)電控制設(shè)備研究所 航天伺服驅(qū)動(dòng)與傳動(dòng)技術(shù)實(shí)驗(yàn)室,北京 100076)
隨著科技高速的進(jìn)步,在工業(yè)應(yīng)用上,小型化、高速化、高可靠性越來(lái)越重要,而且對(duì)于高速通信傳輸過(guò)程中特別是中遠(yuǎn)程數(shù)據(jù)傳輸?shù)目煽啃燥@得非常重要。現(xiàn)在工業(yè)應(yīng)用上,均為大型的數(shù)模轉(zhuǎn)換芯片,并且速度較慢,不利于小型化的設(shè)計(jì)[1]。利用CAN 芯片來(lái)收發(fā)信號(hào)已被廣泛應(yīng)用于在產(chǎn)品上,用于開(kāi)發(fā)嵌入式以及其嵌入式的軟件,并實(shí)現(xiàn)了在不同上位機(jī)之間相互通信傳輸。當(dāng)下,高集成度的網(wǎng)絡(luò)設(shè)計(jì)模式正在向多個(gè)控制系統(tǒng)于各個(gè)設(shè)計(jì)平臺(tái)之間相互連接通信從而實(shí)現(xiàn)實(shí)現(xiàn)集中化控制演變,嵌入式硬件和嵌入式軟件兩者并行處理數(shù)據(jù)的重要性以及優(yōu)異性已經(jīng)日益突出?;贒SP 28335 芯片不僅擁有集成高速的SPI接口和強(qiáng)大的內(nèi)部資源,還能夠運(yùn)用CAN 通信芯片實(shí)現(xiàn)主控芯片和上位機(jī)之間的數(shù)據(jù)傳輸,除此以外,還能通過(guò)串口調(diào)試小助手對(duì)上位機(jī)與控制板之間的通信傳輸進(jìn)行試驗(yàn),從而實(shí)現(xiàn)了DSP 芯片和上位機(jī)之間的通信試驗(yàn)并傳輸?shù)侥?shù)轉(zhuǎn)換芯片,實(shí)現(xiàn)模擬量的輸出。在實(shí)現(xiàn)超高速傳輸數(shù)據(jù)時(shí),TI 公司的DSP 28335 系列芯片發(fā)揮了強(qiáng)大的工作能力,還可以滿(mǎn)足進(jìn)行遠(yuǎn)程大范圍的訪(fǎng)問(wèn)需求。首次采用基于模塊化設(shè)計(jì)的思想進(jìn)行PCB 電路板的設(shè)計(jì),滿(mǎn)足了設(shè)計(jì)者對(duì)進(jìn)行設(shè)計(jì)和利用軟件進(jìn)行仿真試驗(yàn)時(shí)更加快捷的需求,從而使得印制板開(kāi)發(fā)的周期縮短、難度降低。
SDA5638BMD 是一款雙路12 位低功耗D/A 轉(zhuǎn)換器,實(shí)現(xiàn)整機(jī)系統(tǒng)中數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)的功能。電路包含了串并轉(zhuǎn)換、數(shù)據(jù)鎖存器、高精度電壓基準(zhǔn)、電阻網(wǎng)絡(luò)DAC 核、軌到軌輸出緩沖等單元。具有內(nèi)部基準(zhǔn)可編程、建立時(shí)間可編程、兼容SPI 接口、微分非線(xiàn)性誤差小等特點(diǎn),可用于數(shù)字伺服控制回路、偏移和增益的數(shù)字調(diào)整、工業(yè)過(guò)程控制、機(jī)械和運(yùn)動(dòng)控制設(shè)備、大容量?jī)?chǔ)存設(shè)備等領(lǐng)域[2]。芯片的整個(gè)原理,見(jiàn)圖1。
圖1 SDA5638 工作原理圖
該產(chǎn)品16 位可編程串行碼的具體功能設(shè)計(jì),見(jiàn)表1。
表1 SDA5638BMD 串行碼輸入格式
表2 為SDA5638 的工作時(shí)間。
表2 SDA5638 工作時(shí)間
由于數(shù)模轉(zhuǎn)換的設(shè)計(jì)在自動(dòng)化領(lǐng)域運(yùn)用非常之廣,為了盡可能的將其小型化和集成化設(shè)計(jì),盡可能的做到控制非常小但是而且功能強(qiáng)大。
本文以TI 公司生產(chǎn)的DSP 28335 芯片內(nèi)SPI 口來(lái)設(shè)計(jì)模數(shù)轉(zhuǎn)換SDA5638 的具體應(yīng)用場(chǎng)景。TI 公司的DSP 28335 芯片具有3 路高速SPI 接口,具有16位數(shù)據(jù)傳輸?shù)男酒哂薪涌诙?,傳輸快的?yōu)點(diǎn)。因此,在本電路的設(shè)計(jì)中,既能滿(mǎn)足較高系統(tǒng)中實(shí)時(shí)性的要求,又可以滿(mǎn)足SPI 接口的元件既能簡(jiǎn)化電路設(shè)計(jì),還可以提高整個(gè)應(yīng)用中的可靠性傳輸[3]。圖2 為整個(gè)設(shè)計(jì)的原理圖。
圖2 設(shè)計(jì)原理圖
SDA5638 的工作原理為:通過(guò)時(shí)鐘輸入端口輸入時(shí)鐘信號(hào),對(duì)串行數(shù)字輸入信號(hào)進(jìn)行采集,該串行信號(hào)為可編程的16 位串行碼,包括高4 位控制位和低12 位數(shù)據(jù)位,控制位設(shè)置省電模式、普通模式,快模式、慢模式,同時(shí)設(shè)置寫(xiě)入12 位串行數(shù)據(jù)到控制鎖存器、DAC 鎖存器或者緩存,當(dāng)寫(xiě)入到控制鎖存器時(shí),寫(xiě)入數(shù)據(jù)用于設(shè)置基準(zhǔn),選擇內(nèi)部基準(zhǔn)或者外部基準(zhǔn),當(dāng)選擇內(nèi)部基準(zhǔn)時(shí)可設(shè)置內(nèi)部基準(zhǔn)為2.048 V 或者1.024 V;12 位串行數(shù)據(jù)通過(guò)串/ 并聯(lián)轉(zhuǎn)換電路后輸出12 位并行數(shù)據(jù)到鎖存器,數(shù)據(jù)鎖存完畢即可啟動(dòng)轉(zhuǎn)換;啟動(dòng)轉(zhuǎn)換時(shí),利用開(kāi)關(guān)來(lái)控制電阻分壓的方法獲取模擬輸出,模擬輸出經(jīng)過(guò)閉環(huán)增益為2 的軌到軌AB 類(lèi)輸出緩沖輸出模擬電壓[4]。
表3 為SDA5638 的引腳定義。
表3 SDA5638 引腳定義
原理圖內(nèi)數(shù)模轉(zhuǎn)換芯片SDA5638 與DSP 芯片上的高速SPI 接口直連,DSP 28335 芯片作為主,數(shù)模轉(zhuǎn)換芯片SDA5638 作為從,DSP 芯片通過(guò)其CS 引腳輸出低電平,數(shù)模轉(zhuǎn)換芯片在低電平的時(shí)候?yàn)橛行?,DSP的CLK 時(shí)鐘引腳為整個(gè)SPI 傳輸中提供時(shí)鐘信號(hào),如圖3 所示,在時(shí)鐘的下降沿接收到SPI 總線(xiàn)上的數(shù)據(jù)。然后經(jīng)過(guò)16 個(gè)時(shí)鐘信號(hào),完成了一幀的數(shù)據(jù)傳輸。
該產(chǎn)品的工作時(shí)序如圖3 所示。
圖3 SDA5638BMD 時(shí)序圖
主控芯片DSP 28335 芯片是集成了TI 公司的新一代高速可編輯芯片,本文主要是通過(guò)DSP 28335 芯片內(nèi)部的可邏輯控制區(qū)域來(lái)配置與SDA5638 芯片進(jìn)行高速數(shù)據(jù)傳輸?shù)慕涌?,?dāng)SDA5638 上的片選CS 引腳接收到低電平信號(hào)時(shí),這時(shí)候主控芯片DSP 的內(nèi)部數(shù)據(jù)為16 位傳輸。傳輸結(jié)束后,主控DSP 芯片的CS引腳恢復(fù)為高電平,等待上位機(jī)下一次的指令。為了保障電路設(shè)計(jì)的可靠性,保證其電路傳輸速率最佳,因?yàn)殛P(guān)系到數(shù)模轉(zhuǎn)換芯片SDA5638 在整個(gè)數(shù)據(jù)傳輸過(guò)程中的抗干擾能力;數(shù)模轉(zhuǎn)換芯片SDA5638 在數(shù)據(jù)傳輸過(guò)程中信號(hào)不受到干擾,采用印制板平行布線(xiàn)的方式,為了降低控制芯片和數(shù)模轉(zhuǎn)換芯片的供電3.3 V 防止通過(guò)內(nèi)部的其他線(xiàn)路傳輸中而造成損壞其他芯片,通過(guò)印制板分層設(shè)計(jì)的原則,電源層與信號(hào)層都選用不同的疊層進(jìn)行布線(xiàn),從而可以防止引入其他電源信號(hào)對(duì)接口電路的影響[5]。
為了保障更好的傳輸與可靠性,PCB 印制板電阻都選用千分之一的國(guó)軍標(biāo)電阻和0402 封裝的高可靠國(guó)軍標(biāo)的電容;在印制板PCB 布線(xiàn)的同時(shí),電阻和電容都緊挨著主控DSP 芯片和數(shù)模轉(zhuǎn)換芯片放置;這樣可以避免因?yàn)V波電容及電阻擺放位置太遠(yuǎn)而導(dǎo)致整個(gè)傳輸過(guò)程中信號(hào)受到干擾,導(dǎo)致整個(gè)PCB 印制板設(shè)計(jì)失敗的問(wèn)題。PCB 印制板在布線(xiàn)時(shí),嚴(yán)格按照設(shè)計(jì)標(biāo)準(zhǔn)規(guī)范要求,將主控芯片的布線(xiàn)距離按走線(xiàn)最短同時(shí)不走彎線(xiàn)原則[6];對(duì)于PCB 內(nèi)的地層,選用大面積鋪銅的走線(xiàn)方式,并且與信號(hào)線(xiàn)物理隔開(kāi),滿(mǎn)足了高可靠性的傳輸。
首先在DSP 的加載程序里面執(zhí)行,將DSP 內(nèi)部的程序進(jìn)行整體初始化,先將DSP 內(nèi)的高速串口引腳進(jìn)行設(shè)置,選擇用SDA5638 的內(nèi)部基準(zhǔn),因SDA5638輸出能力于內(nèi)部基準(zhǔn)輸出電壓相關(guān),內(nèi)部基準(zhǔn)時(shí)可設(shè)置內(nèi)部基準(zhǔn)為2.048 V 或者1.024 V,所以選擇內(nèi)部基準(zhǔn)為2.048 V,這樣SDA5638 的輸出能力就是0~4.096 V。
DSP 內(nèi)部配置和初始化完成后,DSP 芯片就進(jìn)入到待機(jī)狀態(tài)等待上位機(jī)上面的指令信號(hào),當(dāng)上位機(jī)的總線(xiàn)上傳來(lái)控制信號(hào)時(shí),通信的協(xié)議芯片CAN 芯片會(huì)返回相應(yīng)的解碼信息給DSP 芯片,DSP 芯片這樣就收到并且解析相應(yīng)的指令。
在數(shù)據(jù)傳輸?shù)倪^(guò)程中,首先片選信號(hào)CS 變?yōu)榈碗娖?,?shù)模轉(zhuǎn)換芯片SDA5638 被選中,處于工作狀態(tài),在SDA5638 進(jìn)入工作狀態(tài)后,CLK 輸入的信號(hào)變?yōu)橄陆笛兀?6 位的數(shù)據(jù)從最高位一位接著一位寫(xiě)入到芯片內(nèi)部的寄存器里,當(dāng)16 位的數(shù)據(jù)結(jié)束后或者CS 信號(hào)到達(dá)上升沿,移入到內(nèi)部寄存器的數(shù)據(jù)則轉(zhuǎn)移到目標(biāo)的寄存器DACA 或者DACB 內(nèi),表4 為16 位數(shù)據(jù)的控制位和數(shù)據(jù)位。
表4 SDA5638 芯片內(nèi)部數(shù)據(jù)表
其中SPD 為控制位,一般選擇置為1,快模式;PWR 為功率控制位,一般選擇置為0,正常工作模式;R1 和R0 為內(nèi)部寄存器的選擇位,內(nèi)部寄存器的配置,見(jiàn)表5。
表5 內(nèi)部寄存器配置
因內(nèi)部數(shù)模轉(zhuǎn)換芯片SDA5638 內(nèi)部有兩種基準(zhǔn)電壓,可以配置基準(zhǔn)源,配置基準(zhǔn)的選擇情況,見(jiàn)表6。
表6 內(nèi)部基準(zhǔn)配置
本文的設(shè)計(jì)選擇內(nèi)部基準(zhǔn)源,并且電壓輸出為2.048 V。
現(xiàn)已完成基于串口的數(shù)模轉(zhuǎn)換芯片與DSP 的高速設(shè)計(jì),本文對(duì)于DSP 芯片傳使用的調(diào)試軟件為高速串口調(diào)試助手軟件,可以實(shí)現(xiàn)對(duì)主控芯片DSP 控制的高速串行D/A 芯片SDA5638 相互通信之間測(cè)試。此款高速串口調(diào)試助手軟件可以實(shí)時(shí)監(jiān)控和顯示出當(dāng)時(shí)數(shù)據(jù)傳輸?shù)臓顟B(tài),更有利于主控芯片DSP 和上位機(jī)之間隨時(shí)掌握輸出狀態(tài)的依據(jù)。當(dāng)主控芯片收到上位發(fā)送的指令后,會(huì)回讀信息,并向上位機(jī)發(fā)送收到指令;然后高速串口調(diào)試助手軟件點(diǎn)擊上面的發(fā)送或者讀取數(shù)據(jù)給數(shù)模轉(zhuǎn)換芯片發(fā)送信號(hào),最后以數(shù)模轉(zhuǎn)換芯片SDA5638 周?chē)胖玫募t色LED 指示燈亮暗為信號(hào),來(lái)觀察判斷主控芯片和數(shù)模轉(zhuǎn)換芯片之間的連接狀態(tài)以及他們之間數(shù)據(jù)相互交互的情況。
本文設(shè)計(jì)基于串口的數(shù)模轉(zhuǎn)換芯片與DSP 的高速設(shè)計(jì),其選用主控芯片DSP 28335 上的高速串口通道,運(yùn)用數(shù)模轉(zhuǎn)換芯片SDA5638 進(jìn)行兩者之間的高速數(shù)據(jù)傳輸,并運(yùn)用高速串口調(diào)試助手軟件對(duì)上位機(jī)與控制板之間的通信傳輸進(jìn)行試驗(yàn),實(shí)現(xiàn)了DSP 芯片和上位機(jī)之間的通信試驗(yàn)。整個(gè)PCB 印制板在設(shè)計(jì)中運(yùn)用了基于模塊化設(shè)計(jì)的理念,使開(kāi)發(fā)和利用軟件進(jìn)行模擬實(shí)驗(yàn)更加方便快捷,從而對(duì)印制板設(shè)計(jì)的難度有所改善,大幅縮短了設(shè)計(jì)周期。