基于TMS320 F28335信號處理板的設計與實(shí)現
3 系統軟件設計
如前所述,整個(gè)信號處理板一共有12路模擬信號通路,通過(guò)傳感器接收到12路模擬信號。2片AD7656把12路模擬信號轉換為數字信號傳送給TMS320F28335,在TMS320F28335中對這些采集到的數據做相應處理后通過(guò)SCI傳送給上位機。同時(shí)對有必要保存的數據通過(guò)SPI接口保存到EEPROM中。整個(gè)采集、通信過(guò)程由上位機發(fā)送相關(guān)的命令來(lái)加以控制。程序的流程如圖5所示。本文引用地址:http://dyxdggzs.com/article/161948.htm
在主函數中,程序首先完成相應模塊的初始化,設定好CPU運行的時(shí)鐘,選定好各個(gè)模塊的工作模式,然后讀取EEPROM中的設備初始化數據,后進(jìn)行入等待狀態(tài)。此時(shí)CPU等待ADC采樣的數據,當ADC采樣過(guò)程結束,則進(jìn)入ADC中斷響應函數,在此函數中,主要完成數據的讀取,對于小信號,通過(guò)程控放大器放大其幅值,然后存儲到自定義的緩存區中。兩個(gè)串口工作方式均由上位機發(fā)送命令,從而觸發(fā)SCI的串口收中斷服務(wù)函數。然后在中斷服務(wù)函數中完成對應命令要求。系統選用串口1完成采集數據向上位機的傳輸,串口0完成向EEPROM發(fā)送需保存的數據和一些相關(guān)操作。而SCI0和SCI1分別對應DSC外設中斷的INT9.1和INT9.3,外部中斷XINT1對應INT1.4。程序設置兩個(gè)串口的傳輸速率均為38.4 kb·s-1。
在設備工作時(shí),由于SCI1的中斷源是上位機的命令發(fā)送,系統規定上位機每20ms發(fā)送一個(gè)數據接受命令,因此SCI1的中斷響應周期為td= 20 ms。而由于采樣率為40 kHz,因此ADC的中斷服務(wù)函數響應周期為0.025 ms。系統規定采集一組數據的個(gè)數為50,那么采集一組數據的時(shí)間即為tc=1.25 ms,所以在一次SCI1中斷過(guò)程中,ADC會(huì )采集16組數據??紤]到串口傳輸的波特率為38.4kb·s-1,因此傳送一個(gè)16位的數據時(shí)間為tt=0.417 ms。而一組數據采集時(shí)間加上串口數據傳輸的時(shí)間為tc+tt=1.667 mstd,因此在上位機的發(fā)送命令到達時(shí),串口發(fā)送寄存器的數據總是準備完畢的,而不會(huì )發(fā)送隨機數據。
4 結束語(yǔ)
所設計的信號處理板以TMS320F28335為核心處理器,利用AD7656完成模擬信號采樣的功能硬件平臺。TMS320F28335片內集成了豐富的外圍資源,通過(guò)驅動(dòng)軟件的配置和硬件系統的設計,可以方便、高效地完成大量數字信號的處理和運算。AD7656的6路模擬信號采集和16位高精度的模擬信號采樣,較好地完成了模擬信號的數字化轉換,減少了模擬信號采樣的失真。實(shí)驗證明,信號處理板所采集到的數字信號的誤差值約為1.37 mV,可達14位的采樣精度。
評論