孫宇偉*,苗世亮,王 琰,黃 凱
(北京精密機電控制設備研究所 航天伺服驅動與傳動技術實驗室,北京 100076)
隨著科技高速的進步,在工業應用上,小型化、高速化、高可靠性越來越重要,而且對于高速通信傳輸過程中特別是中遠程數據傳輸的可靠性顯得非常重要。現在工業應用上,均為大型的數模轉換芯片,并且速度較慢,不利于小型化的設計[1]。利用CAN 芯片來收發信號已被廣泛應用于在產品上,用于開發嵌入式以及其嵌入式的軟件,并實現了在不同上位機之間相互通信傳輸。當下,高集成度的網絡設計模式正在向多個控制系統于各個設計平臺之間相互連接通信從而實現實現集中化控制演變,嵌入式硬件和嵌入式軟件兩者并行處理數據的重要性以及優異性已經日益突出?;贒SP 28335 芯片不僅擁有集成高速的SPI接口和強大的內部資源,還能夠運用CAN 通信芯片實現主控芯片和上位機之間的數據傳輸,除此以外,還能通過串口調試小助手對上位機與控制板之間的通信傳輸進行試驗,從而實現了DSP 芯片和上位機之間的通信試驗并傳輸到模數轉換芯片,實現模擬量的輸出。在實現超高速傳輸數據時,TI 公司的DSP 28335 系列芯片發揮了強大的工作能力,還可以滿足進行遠程大范圍的訪問需求。首次采用基于模塊化設計的思想進行PCB 電路板的設計,滿足了設計者對進行設計和利用軟件進行仿真試驗時更加快捷的需求,從而使得印制板開發的周期縮短、難度降低。
SDA5638BMD 是一款雙路12 位低功耗D/A 轉換器,實現整機系統中數字信號轉換為模擬信號的功能。電路包含了串并轉換、數據鎖存器、高精度電壓基準、電阻網絡DAC 核、軌到軌輸出緩沖等單元。具有內部基準可編程、建立時間可編程、兼容SPI 接口、微分非線性誤差小等特點,可用于數字伺服控制回路、偏移和增益的數字調整、工業過程控制、機械和運動控制設備、大容量儲存設備等領域[2]。芯片的整個原理,見圖1。

圖1 SDA5638 工作原理圖
該產品16 位可編程串行碼的具體功能設計,見表1。

表1 SDA5638BMD 串行碼輸入格式
表2 為SDA5638 的工作時間。

表2 SDA5638 工作時間
由于數模轉換的設計在自動化領域運用非常之廣,為了盡可能的將其小型化和集成化設計,盡可能的做到控制非常小但是而且功能強大。
本文以TI 公司生產的DSP 28335 芯片內SPI 口來設計模數轉換SDA5638 的具體應用場景。TI 公司的DSP 28335 芯片具有3 路高速SPI 接口,具有16位數據傳輸的芯片,具有接口多,傳輸快的優點。因此,在本電路的設計中,既能滿足較高系統中實時性的要求,又可以滿足SPI 接口的元件既能簡化電路設計,還可以提高整個應用中的可靠性傳輸[3]。圖2 為整個設計的原理圖。

圖2 設計原理圖
SDA5638 的工作原理為:通過時鐘輸入端口輸入時鐘信號,對串行數字輸入信號進行采集,該串行信號為可編程的16 位串行碼,包括高4 位控制位和低12 位數據位,控制位設置省電模式、普通模式,快模式、慢模式,同時設置寫入12 位串行數據到控制鎖存器、DAC 鎖存器或者緩存,當寫入到控制鎖存器時,寫入數據用于設置基準,選擇內部基準或者外部基準,當選擇內部基準時可設置內部基準為2.048 V 或者1.024 V;12 位串行數據通過串/ 并聯轉換電路后輸出12 位并行數據到鎖存器,數據鎖存完畢即可啟動轉換;啟動轉換時,利用開關來控制電阻分壓的方法獲取模擬輸出,模擬輸出經過閉環增益為2 的軌到軌AB 類輸出緩沖輸出模擬電壓[4]。
表3 為SDA5638 的引腳定義。

表3 SDA5638 引腳定義
原理圖內數模轉換芯片SDA5638 與DSP 芯片上的高速SPI 接口直連,DSP 28335 芯片作為主,數模轉換芯片SDA5638 作為從,DSP 芯片通過其CS 引腳輸出低電平,數模轉換芯片在低電平的時候為有效,DSP的CLK 時鐘引腳為整個SPI 傳輸中提供時鐘信號,如圖3 所示,在時鐘的下降沿接收到SPI 總線上的數據。然后經過16 個時鐘信號,完成了一幀的數據傳輸。
該產品的工作時序如圖3 所示。

圖3 SDA5638BMD 時序圖
主控芯片DSP 28335 芯片是集成了TI 公司的新一代高速可編輯芯片,本文主要是通過DSP 28335 芯片內部的可邏輯控制區域來配置與SDA5638 芯片進行高速數據傳輸的接口,當SDA5638 上的片選CS 引腳接收到低電平信號時,這時候主控芯片DSP 的內部數據為16 位傳輸。傳輸結束后,主控DSP 芯片的CS引腳恢復為高電平,等待上位機下一次的指令。為了保障電路設計的可靠性,保證其電路傳輸速率最佳,因為關系到數模轉換芯片SDA5638 在整個數據傳輸過程中的抗干擾能力;數模轉換芯片SDA5638 在數據傳輸過程中信號不受到干擾,采用印制板平行布線的方式,為了降低控制芯片和數模轉換芯片的供電3.3 V 防止通過內部的其他線路傳輸中而造成損壞其他芯片,通過印制板分層設計的原則,電源層與信號層都選用不同的疊層進行布線,從而可以防止引入其他電源信號對接口電路的影響[5]。
為了保障更好的傳輸與可靠性,PCB 印制板電阻都選用千分之一的國軍標電阻和0402 封裝的高可靠國軍標的電容;在印制板PCB 布線的同時,電阻和電容都緊挨著主控DSP 芯片和數模轉換芯片放置;這樣可以避免因濾波電容及電阻擺放位置太遠而導致整個傳輸過程中信號受到干擾,導致整個PCB 印制板設計失敗的問題。PCB 印制板在布線時,嚴格按照設計標準規范要求,將主控芯片的布線距離按走線最短同時不走彎線原則[6];對于PCB 內的地層,選用大面積鋪銅的走線方式,并且與信號線物理隔開,滿足了高可靠性的傳輸。
首先在DSP 的加載程序里面執行,將DSP 內部的程序進行整體初始化,先將DSP 內的高速串口引腳進行設置,選擇用SDA5638 的內部基準,因SDA5638輸出能力于內部基準輸出電壓相關,內部基準時可設置內部基準為2.048 V 或者1.024 V,所以選擇內部基準為2.048 V,這樣SDA5638 的輸出能力就是0~4.096 V。
DSP 內部配置和初始化完成后,DSP 芯片就進入到待機狀態等待上位機上面的指令信號,當上位機的總線上傳來控制信號時,通信的協議芯片CAN 芯片會返回相應的解碼信息給DSP 芯片,DSP 芯片這樣就收到并且解析相應的指令。
在數據傳輸的過程中,首先片選信號CS 變為低電平,數模轉換芯片SDA5638 被選中,處于工作狀態,在SDA5638 進入工作狀態后,CLK 輸入的信號變為下降沿,16 位的數據從最高位一位接著一位寫入到芯片內部的寄存器里,當16 位的數據結束后或者CS 信號到達上升沿,移入到內部寄存器的數據則轉移到目標的寄存器DACA 或者DACB 內,表4 為16 位數據的控制位和數據位。

表4 SDA5638 芯片內部數據表
其中SPD 為控制位,一般選擇置為1,快模式;PWR 為功率控制位,一般選擇置為0,正常工作模式;R1 和R0 為內部寄存器的選擇位,內部寄存器的配置,見表5。

表5 內部寄存器配置
因內部數模轉換芯片SDA5638 內部有兩種基準電壓,可以配置基準源,配置基準的選擇情況,見表6。

表6 內部基準配置
本文的設計選擇內部基準源,并且電壓輸出為2.048 V。
現已完成基于串口的數模轉換芯片與DSP 的高速設計,本文對于DSP 芯片傳使用的調試軟件為高速串口調試助手軟件,可以實現對主控芯片DSP 控制的高速串行D/A 芯片SDA5638 相互通信之間測試。此款高速串口調試助手軟件可以實時監控和顯示出當時數據傳輸的狀態,更有利于主控芯片DSP 和上位機之間隨時掌握輸出狀態的依據。當主控芯片收到上位發送的指令后,會回讀信息,并向上位機發送收到指令;然后高速串口調試助手軟件點擊上面的發送或者讀取數據給數模轉換芯片發送信號,最后以數模轉換芯片SDA5638 周圍放置的紅色LED 指示燈亮暗為信號,來觀察判斷主控芯片和數模轉換芯片之間的連接狀態以及他們之間數據相互交互的情況。
本文設計基于串口的數模轉換芯片與DSP 的高速設計,其選用主控芯片DSP 28335 上的高速串口通道,運用數模轉換芯片SDA5638 進行兩者之間的高速數據傳輸,并運用高速串口調試助手軟件對上位機與控制板之間的通信傳輸進行試驗,實現了DSP 芯片和上位機之間的通信試驗。整個PCB 印制板在設計中運用了基于模塊化設計的理念,使開發和利用軟件進行模擬實驗更加方便快捷,從而對印制板設計的難度有所改善,大幅縮短了設計周期。