當(dāng)前位置:首頁 > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]  1、引言   三坐標(biāo)測(cè)量機(jī)做為一種高精度測(cè)量?jī)x器,在機(jī)械工業(yè)、汽車工業(yè)、航空航天等領(lǐng)域具有廣泛的應(yīng)用。本套通訊系統(tǒng)采用FPGA[1]為主要通訊芯片,使用FPGA實(shí)現(xiàn)各通訊模塊對(duì)數(shù)據(jù)的收發(fā),配合單片機(jī)對(duì)數(shù)據(jù)進(jìn)行編

  1、引言

  三坐標(biāo)測(cè)量機(jī)做為一種高精度測(cè)量?jī)x器,在機(jī)械工業(yè)、汽車工業(yè)、航空航天等領(lǐng)域具有廣泛的應(yīng)用。本套通訊系統(tǒng)采用FPGA[1]為主要通訊芯片,使用FPGA實(shí)現(xiàn)各通訊模塊對(duì)數(shù)據(jù)的收發(fā),配合單片機(jī)對(duì)數(shù)據(jù)進(jìn)行編碼、解碼、重封裝,實(shí)現(xiàn)了計(jì)算機(jī)和控制系統(tǒng)的通訊;由于FPGA程序的并行執(zhí)行結(jié)構(gòu)和高的執(zhí)行速度,因此大大保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和快速性。

  2、通訊模塊的實(shí)現(xiàn)

  2.1 計(jì)算機(jī)與橋接卡的通訊

  本系統(tǒng)采用RS232總線實(shí)現(xiàn)計(jì)算機(jī)和橋接卡之間的通訊。計(jì)算機(jī)發(fā)送的數(shù)據(jù),經(jīng)過RS232總線傳輸?shù)綐蚪涌?,通過MAX3232芯片實(shí)現(xiàn)電平轉(zhuǎn)換。FPGA檢測(cè)到起始位后接收數(shù)據(jù),接收完數(shù)據(jù)后,將其存于UART接收FIFO[2]中;待接收到結(jié)束位時(shí),F(xiàn)PGA產(chǎn)生中斷信號(hào),觸發(fā)單片機(jī)讀取接收FIFO中的數(shù)據(jù)并對(duì)其解碼,判斷數(shù)據(jù)中的目的地址,根據(jù)目的地址決定是否處理或發(fā)送到控制板;橋接卡與計(jì)算機(jī)通訊時(shí),首先將數(shù)據(jù)進(jìn)行編碼,然后將數(shù)據(jù)置于發(fā)送FIFO中,啟動(dòng)發(fā)送模塊,發(fā)送模塊自動(dòng)將數(shù)據(jù)發(fā)出,數(shù)據(jù)經(jīng)MAX3232發(fā)送到總線上等待計(jì)算機(jī)的接收。

  (1)串口發(fā)送模塊的FPGA實(shí)現(xiàn)

  串口發(fā)送模塊從發(fā)送FIFO讀出數(shù)據(jù)后,根據(jù)串口通信協(xié)議,數(shù)據(jù)在向外發(fā)送時(shí),低位在前,高位在后,所以將八位的數(shù)據(jù)重新進(jìn)行編輯:前加停止位‘1’,后加起始位‘0’,變?yōu)槭粩?shù)據(jù)包,將十位數(shù)據(jù)按照設(shè)置波特率逐位發(fā)送即可,使用Modelsim進(jìn)行仿真,仿真圖見圖1(data位要發(fā)送的數(shù)據(jù),tx為發(fā)送線)

                              


  (2)串口接收模塊的FPGA實(shí)現(xiàn)

  總線空閑時(shí)當(dāng)檢測(cè)到由高到低變化時(shí),表明數(shù)據(jù)開始傳輸,接收模塊準(zhǔn)備接收數(shù)據(jù),接收數(shù)據(jù)時(shí)低位在前,高位在后,當(dāng)接收到起始位后,每隔一個(gè)數(shù)據(jù)傳輸周期接收一次數(shù)據(jù),待接收到八位數(shù)據(jù)后將數(shù)據(jù)置于接收FIFO中,使用Modelsim進(jìn)行對(duì)發(fā)送模塊仿真見圖2(rxBuf為接收到的數(shù)據(jù),低位在前,高位在后):

                            


  2.2 橋接卡與控制卡及控制卡之間的通訊

  由于橋接卡需要和多個(gè)控制卡進(jìn)行信息的交換,且不同的控制卡之間也需要數(shù)據(jù)傳輸,因此在進(jìn)行總線選擇時(shí),必須保證各個(gè)器件都具有主控的權(quán)利,可以占用總線,本系統(tǒng)中橋接卡和控制卡及控制卡之間采用I2C[3][4]總線進(jìn)行通訊。

  I2C總線是一種兩線式串行雙向總線,是多主控的總線,由時(shí)鐘線和數(shù)據(jù)線構(gòu)成,數(shù)據(jù)傳輸時(shí),時(shí)鐘信號(hào)由主控器件產(chǎn)生。當(dāng)SCL為高電平時(shí),SDA出現(xiàn)由高電平到低電平變化,表明開始傳送數(shù)據(jù);當(dāng)SCL為高電平時(shí),SDA出現(xiàn)低電平到高電平變化,表示數(shù)據(jù)傳送結(jié)束;接收方收到數(shù)據(jù)后,需向發(fā)送方發(fā)出應(yīng)答信號(hào);為了防止總線上數(shù)據(jù)沖突,總線有仲裁機(jī)制,當(dāng)總線同時(shí)被多個(gè)發(fā)送方占用時(shí),首先出現(xiàn)高電平的發(fā)送方被仲裁掉,因此,最長(zhǎng)低電平周期的器件占用總線,成為主控器件;被仲裁掉的器件,放棄總線,改為接收。

  使用FPGA實(shí)現(xiàn)I2C總線時(shí),需要建立三個(gè)模塊:總線監(jiān)視模塊,總線發(fā)送模塊,總線接收模塊。

 ?、倏偩€監(jiān)視模塊[5]的實(shí)現(xiàn)

  總線監(jiān)視模塊用來為發(fā)送和接收模塊提供總線狀態(tài),總線分為空閑、忙、等待三種狀態(tài)。當(dāng)總線上沒有數(shù)據(jù)傳輸時(shí),保持高電平,稱為空閑態(tài);數(shù)據(jù)傳輸期間,總線為忙的狀態(tài),如果主控方占用總線后沒有數(shù)據(jù)發(fā)送,則為等待狀態(tài),如果總線等待時(shí)間超過設(shè)定時(shí)間,總線由等待轉(zhuǎn)為空閑態(tài)。發(fā)送、接收模塊需要得到的信號(hào)為起始信號(hào)、結(jié)束信號(hào)和狀態(tài)信號(hào),由總線監(jiān)視模塊實(shí)現(xiàn)這些信號(hào)。使用Modelsim進(jìn)行仿真,得到波形如圖3:

                             


 ?、贗2C發(fā)送模塊[6]的FPGA實(shí)現(xiàn)

  發(fā)送模塊主要實(shí)現(xiàn)對(duì)數(shù)據(jù)的發(fā)送;首先發(fā)送地址,發(fā)送完地址后,等待應(yīng)答信號(hào),如果沒有響應(yīng),則放棄總線;如果出現(xiàn)響應(yīng),I2C發(fā)送模塊輸出RAM地址,讀取RAM的數(shù)據(jù),依次發(fā)送數(shù)據(jù),每發(fā)送完一個(gè)字節(jié),等待響應(yīng)信號(hào),發(fā)送模塊根據(jù)RAM中的數(shù)據(jù)長(zhǎng)度,將RAM數(shù)據(jù)讀完。為了防止多個(gè)主機(jī)同時(shí)占用總線,應(yīng)根據(jù)仲裁機(jī)制將總線上的非主控方仲裁掉,禁止其繼續(xù)占用總線。為了防止總線傳輸中信號(hào)延遲,當(dāng)向總線上發(fā)送下一數(shù)據(jù)時(shí)對(duì)總線上的狀態(tài)進(jìn)行判斷,如果正確,再發(fā)送下一位數(shù)據(jù)。否則,放棄總線。使用Modelsim對(duì)I2C發(fā)送模塊進(jìn)行仿真如圖4。

                                
  I2C_outScl:發(fā)送時(shí)鐘;I2C_inScl:檢測(cè)時(shí)鐘

  I2C_outSda:發(fā)送數(shù)據(jù);I2C_inSda:檢測(cè)數(shù)據(jù)

  desAddr:目的地址;msgData:發(fā)送數(shù)據(jù)

  RAM_Addr:RAM的地址信號(hào)。

 ?、跧2C接收模塊[7]的FPGA實(shí)現(xiàn)

  接收模塊接收到總線監(jiān)視模塊發(fā)送來的起始位信號(hào)后,準(zhǔn)備接收總線上的數(shù)據(jù),接收到的地址后,判斷接收到的地址和電路板地址是否一致;當(dāng)兩者一致時(shí),向總線置應(yīng)答信號(hào)ACK,繼續(xù)接收下面的數(shù)據(jù),收到的數(shù)據(jù)置于接收FIFO中;如果地址不一致,則放棄總線。使用Modelsim對(duì)I2C接收模塊進(jìn)行仿真如圖4。


  I2CbusIsBusy:總線狀態(tài);I2C_start:起始信號(hào)

  myAddr:電路板的地址; rxBuf:接收寄存器

  rxFIFO_wr:接收FIFO的寫信號(hào)

  3、通訊協(xié)議

  上位機(jī)和橋接板之間采用RS232總線進(jìn)行數(shù)據(jù)傳輸,橋接卡和控制卡以及各個(gè)控制卡之間采用I2C總線進(jìn)行數(shù)據(jù)的傳輸,通訊采用主叫和應(yīng)答方式,數(shù)據(jù)傳輸中使用單片機(jī)進(jìn)行解碼[8]。

  主叫方發(fā)出指令后,等待對(duì)方響應(yīng),如果主叫方寫指令到被叫方,則被叫方收到指令執(zhí)行操作后返回確認(rèn)信號(hào);如果從主叫方讀指令,則被叫方在下一時(shí)刻占用總線后發(fā)送數(shù)據(jù)到主叫方,主叫方在0.5s內(nèi)沒有收到響應(yīng)包,表明傳輸失敗。若連續(xù)3次沒有響應(yīng),則與對(duì)方通信連接失敗。

  為了實(shí)現(xiàn)數(shù)據(jù)的一致性,RS-232和I2C總線采用相同的通信協(xié)議。

  數(shù)據(jù)傳輸時(shí)以“包”進(jìn)行封裝,中間加入長(zhǎng)度位和奇偶校驗(yàn)位。封裝格式:起始字符+長(zhǎng)度字符 +序列號(hào)+源地址+目的地址包類型+傳輸數(shù)據(jù)+包校驗(yàn)+結(jié)束字符;數(shù)據(jù)傳輸均采用ASCII碼。

  包的定義:起始位定義為‘#’,占用一個(gè)字節(jié),接收方接收到‘#’時(shí),表明數(shù)據(jù)開始傳輸;長(zhǎng)度字符定義為除起始字符、結(jié)束字符和校驗(yàn)字符的所有原始字符的長(zhǎng)度,占用一個(gè)字節(jié);源地址:發(fā)送方地址,占用一個(gè)字節(jié);目的地址:接收方地址,占用一個(gè)字節(jié),當(dāng)為‘00’時(shí),定義為廣播地址;包類型:占用一個(gè)字節(jié),表明數(shù)據(jù)的類型,接收方根據(jù)包類型執(zhí)行對(duì)應(yīng)操作;傳輸數(shù)據(jù):控制量的大?。话r?yàn):定義為長(zhǎng)度字符,源地址,目的地址,包類型和數(shù)據(jù)之和,占用兩個(gè)字節(jié);結(jié)束位:定義為‘~’,當(dāng)接收方接收到結(jié)束字符時(shí),表明本包傳輸結(jié)束,對(duì)數(shù)據(jù)包進(jìn)行處理,長(zhǎng)度位和校驗(yàn)位正確時(shí)執(zhí)行指令,否則,放棄改數(shù)據(jù)包。

  4、實(shí)驗(yàn)結(jié)果

  使用該通訊系統(tǒng)實(shí)現(xiàn)和四控制卡之間的通訊控制,使用串口助手進(jìn)行數(shù)據(jù)收發(fā),在發(fā)送數(shù)據(jù)間隔為5us的情況下對(duì)該通訊系統(tǒng)進(jìn)行測(cè)試,在進(jìn)行8小時(shí)的測(cè)試中,系統(tǒng)沒有出現(xiàn)數(shù)據(jù)丟失、錯(cuò)誤、死機(jī)現(xiàn)象;使用廣播地址進(jìn)行數(shù)據(jù)發(fā)送,返回信號(hào)正確,沒出現(xiàn)死機(jī)現(xiàn)象。

  使用該通訊系統(tǒng)對(duì)四個(gè)電機(jī)進(jìn)行控制,電機(jī)實(shí)際輸出情況如表1:

                               
  本實(shí)驗(yàn)數(shù)據(jù)證明了該通訊系統(tǒng)的可用性及數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。

  使用該系統(tǒng)采用廣播地址實(shí)現(xiàn)四個(gè)電機(jī)同步聯(lián)動(dòng),各個(gè)軸的運(yùn)動(dòng)情況如表2:

                  
  本實(shí)驗(yàn)數(shù)據(jù)證明了各個(gè)電機(jī)實(shí)現(xiàn)了指定的轉(zhuǎn)動(dòng)角度;各個(gè)軸運(yùn)動(dòng)期間,電機(jī)的狀態(tài)經(jīng)過I2C總線[9]及RS-232總線通訊系統(tǒng)成功的發(fā)送到了上位機(jī),通訊系統(tǒng)沒有出現(xiàn)死機(jī)和數(shù)據(jù)丟失,經(jīng)過該實(shí)驗(yàn),證明了數(shù)據(jù)傳輸?shù)恼_性。

  4、結(jié)論

  本系統(tǒng)采用FPGA進(jìn)行通訊系統(tǒng)的設(shè)計(jì),提高了數(shù)據(jù)的傳輸率和準(zhǔn)確性,實(shí)現(xiàn)了對(duì)控制機(jī)構(gòu)及時(shí)、快速的控制,有效防止突發(fā)事件的處理,經(jīng)實(shí)驗(yàn)證明,本系統(tǒng)快速、準(zhǔn)確的實(shí)現(xiàn)了數(shù)據(jù)的傳輸,可以有效快速的實(shí)現(xiàn)對(duì)電機(jī)的速度、位置控制、準(zhǔn)確的讀取電機(jī)的編碼器信號(hào)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉