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