華北區(qū)域:
李經(jīng)理 15343445592
華南區(qū)域:
馮經(jīng)理 18026777082
華東區(qū)域:
文經(jīng)理 13544971592
華中區(qū)域:
葉經(jīng)理 18127585813
技術(shù)支持:
葉工 13501587940
為了實現(xiàn)磁致伸縮傳感器與上位機的交互,研制了一種由高檔8位單片機ATmega128控制的SSI-USB轉(zhuǎn)換器。通過對SSI協(xié)議規(guī)范的研究,以及對由PDIUSBD12實現(xiàn)的USB接口電路的研究,提出了相關(guān)的軟硬件設計。最終實現(xiàn)了SSI信號與USB信號的相互轉(zhuǎn)換,從而實現(xiàn)了磁致伸縮傳感器與上位機的通信。
1、SSI協(xié)議規(guī)范及總體設計
SSI通訊協(xié)議是一種串行通信協(xié)議,其中SSI全稱為同步串行接口(Synchronous Serial interface)。SSI傳輸過程中,有24/25/26 3種編碼模式。SSI信號包括差分同步時鐘信號CLOCK+、CLOCK-,差分數(shù)據(jù)信號DATA+、DATA-,電源VCC與地GND。通過差分方式傳輸碼值提高了抗干擾的能力,接線簡單,增加了系統(tǒng)控制的可靠性。
SSI通信協(xié)議的雙方,一方發(fā)送時鐘信號,另一方在這個時鐘脈沖信號的控制下從最高有效位(MSB )開始同步傳輸數(shù)據(jù)。SSI信號傳輸時序圖如圖1所示。其中D0~Dn為數(shù)據(jù)信號,T為一個時鐘信號周期的持續(xù)時間;Tm為單穩(wěn)觸發(fā)時間,Tp為數(shù)據(jù)傳輸間隔,并且Tp≥Tm;MSB為最高位,LSB為最低位。
SSI-USB轉(zhuǎn)換器的設計主要包含2部分:①向下配置參數(shù)部分,即通過上位機界面對傳感器的相關(guān)參數(shù)進行設定,設定好后通過 USB接口傳送給SSI-USB轉(zhuǎn)換器 ,然后SSI-USB轉(zhuǎn)換器再將接收到的配置參數(shù)信號轉(zhuǎn)化為SSI信號傳送給磁致伸縮傳感器。②上傳測量結(jié)果部分,即磁致伸縮傳感器將測量結(jié)果通過SSI接口傳送給SSI-USB轉(zhuǎn)換器,然后SSI-USB轉(zhuǎn)換器再將其轉(zhuǎn)化為USB信號傳送給上位機供分析計算。
2、硬件設計
SSI-USB轉(zhuǎn)換器的硬件電路部分主要包括3部分: (1)起主控作用的單片機;(2)與磁致伸縮傳感器相連的SSI接口電路;(3)與上位機相連的USB接口電路。
2.1 CPU及SSI接口部分電路
設計中CPU采用的是AVR單片機AT-mega128,ATmega128是8位系列單片機中配置最高的一款單片機 ,應用及其廣泛。在SSI接口部分電路的設計中采用差分平衡型收發(fā)器芯片MAX490將時鐘信號SSI_CLK和數(shù)據(jù)信號SSI_DATA分別轉(zhuǎn)化為符合SSI通信協(xié)議規(guī)范的差分信號CLK+, CLK-,DATA+,DATA-信號。為了保證數(shù)據(jù)的高速傳輸及傳輸?shù)目煽啃?,設計中采用高速光耦6N137將SSI_CLK和SSI_DATA信號與單片機的 SSI_CLK1和SSI_DATA1信號進行隔離。并且6N137對輸入信號具有整形的作用 ,輸入的方波信號經(jīng)137輸出后 ,輸入信號原本波形較緩的上升沿和下降沿得到改善。
磁致伸縮傳感器的測量結(jié)果需要傳遞到上位機供用戶分析計算 ,且要求滿足一定的更新頻率如3ms、2ms、1ms、0.15ms等。采用普通 I/O口模擬SSI通信的方式 ,由于受到系統(tǒng)時鐘周期的限制無法達到如此高的更新頻率,故在設計上采用SPI的主從通信 (即SSI-USB轉(zhuǎn)換器作為主機,磁致伸縮傳感器作為從機 )代替SSI通信,將SCK腳和MISO腳引出來分別定義為SSI_CLK1和SSI_DATA1。即CPU作為主機發(fā)送時鐘信號,傳感器作為從機在時鐘脈沖的控制下向主機傳送數(shù)據(jù)信號。而配置參數(shù)的過程中因為對數(shù)據(jù)傳送速度沒有過高的要求,可以通過采用普通I/O口模擬SSI通信方式實現(xiàn)。同樣是SCK腳和MISO腳,但是與上傳測量結(jié)果不同之處是此時SCK腳作為數(shù)據(jù)輸出腳,MISO腳作為時鐘輸入腳 ,同時將MISO腳接到INT1腳 ,用于捕獲傳感器發(fā)送的時鐘信號。
2.2 USB接口電路
設計中利用PDIUSBD12芯片來實現(xiàn)USB接口,PDIUS2BD12是一款性價比很高的 USB器件,與任何外部微控制器/微處理器實現(xiàn)高速并行連接 (2M字節(jié)/s)。USB設備接口電路的硬件設計主要以PDIUSBD12為中心 ,設計它與USB物理接口及微控制器之間的連接。引腳A0通過電阻和地連接,這樣微控制器可以向PDIUS-BD12寫數(shù)據(jù)或向PDIUSBD12讀取數(shù)據(jù)。PDIUSBD12的GL _N接LED,對其工作狀態(tài)進行監(jiān)控, LED在USB被連接時會發(fā)光,在進行數(shù)據(jù)傳輸時會閃爍。設計中USB總線采用的是設備自供電,因此將USB接口的VBUS腳懸空。R7、R8為串聯(lián)終端電阻。PDIUSBD12片內(nèi)集成了6~8MHz時鐘乘法PLL,這樣就可以使用低成本的6MHz晶振,E-MI也隨之降低。
3、軟件設計
在SSI-USB轉(zhuǎn)換器的軟件設計部分,由于在上傳傳感器的測量結(jié)果的過程中要使用SPI通信代替SSI通信以實現(xiàn)高速傳輸?shù)哪康?,因此要對SPI進行初始化,此外也要對I/O和USB進行初始化,即開機啟動時要對系統(tǒng)進行初始化。初始化工作完成后就進入while循環(huán),為了保證計算機已經(jīng)完成對SSI-USB轉(zhuǎn)換器的插入檢測和枚舉,利用定時器0設置6s開機啟動延時,6s延時只在開機啟動時執(zhí)行一次。延時時間到之后,不斷查詢上位機是否發(fā)送命令 ,若接收到命令再判斷是什么命令,然后去執(zhí)行相應命令對應的服務程序。
在通過上位機界面對傳感器進行配置參數(shù)的過程中,使用INT1來捕獲傳感器發(fā)送的時鐘信號的上升沿,并在中斷服務程序中從最高有效位開始傳送數(shù)據(jù)。每次中斷,傳送一個數(shù)據(jù)有效位。其中的中斷服務程序如下:
void Master_Write ( )
{if( IOSendData&0x80) Set_Data;//發(fā)送數(shù)據(jù)的最高位
elseClear_Data;
IOSendData < < = 1;//數(shù)據(jù)左移一位,將下一位要傳送的數(shù)據(jù)移至最高位Int1Num + + ;}
在上傳傳感器的測量結(jié)果的過程中 ,通過定時器1來實現(xiàn)0.15ms、1 ms、2ms、3ms的更新頻率,在定時器1中斷服務程序中將更新數(shù)據(jù)的標志位Data _Flag置位,后面將依據(jù)此標志決定是否更新數(shù)據(jù)。由于SSI信號的編碼模式是24位或25位或26位,本設計中統(tǒng)一定義為32位 ,其中不用的高位全部置為0。在更新數(shù)據(jù)函數(shù)執(zhí)行完后,將更新后的數(shù)據(jù)通過USB接口上傳給上位機。其中更新數(shù)據(jù)函數(shù)如下:void data_sample (void)
{uint i = 0;
CLI( ) ;
counter = 4;
SEI( ) ;
switch ( interval)//設置定時器1的計數(shù)初值;從而分別實現(xiàn)3m s, 2ms,1ms,0.15ms的更新頻率
{case 0: SAMPLE_TIME =65536-1500;
break;
case1: SAMPLE_TIME = 65536-1000;
break;
case 2: SAMPLE_TIME = 65536-500;
break;
case 3: SAMPLE_TIME = 65536 -250;
break;
default:
break;}
timer1_init( ) ;//啟動定時器1
while ( counter > 0 )
{if(Data_Flag = = 1)//讀傳感器的測量結(jié)果并存儲,以便向上位機傳送
{databuff0 [ 0 ] = Read_Data1 [ 0 ];
databuff0 [ 1 ] = Read_Data1 [ 1 databuff0 [ 2 ] = Read_Data1 [ 2 ];databuff0 [ 3 ] = Read_Data1 [ 3 ]; Data_Flag = 0;
counter = counter - 4;}}
TCCR1B = 0x00;}];
4、結(jié) 論
文中研究了一種用于磁致伸縮傳感器的SSI-USB轉(zhuǎn)換器,實現(xiàn)了上位機與磁致伸縮傳感器的通信。一方面實現(xiàn)通過上位機界面對傳感器進行參數(shù)配置;另一方面實現(xiàn)將傳感器的測量結(jié)果高速傳給上位機供分析計算。技術(shù)上在SSI接口部分采用SPI的主從通信代替SSI通信,實現(xiàn)了高速傳輸數(shù)據(jù)的目標。并且采用價格便宜,接口方便 ,可靠性高的PDIUSBD12芯片搭建USB接口電路與計算機通信,使該SSI-USB轉(zhuǎn)換器的應用具有普遍性。同時也為SSI-USB轉(zhuǎn)換器應用在其他領域提供了參考。
聯(lián)系方式:
華北區(qū)域:李經(jīng)理 15343445592
華南區(qū)域:馮經(jīng)理 18026777082
華東區(qū)域:文經(jīng)理 13544971592
華中區(qū)域:葉經(jīng)理 18127585813
技術(shù)支持:葉工 13501587940?
郵箱:wenlan@szbadens.com
地址:廣東省深圳市寶安區(qū)西鄉(xiāng)街道灣區(qū)人工智能產(chǎn)業(yè)園B棟410