《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于MSP430和FPGA的三線串行接口測試儀的設計
基于MSP430和FPGA的三線串行接口測試儀的設計
來源:電子技術應用2013年第2期
楊 亭, 粘 偉
北京空間機電研究所, 北京100076
摘要: 通過研究三線串行接口的構成原理,設計了一種基于MSP430單片機和FPGA的三線串行接口測試儀。該測試儀利用MSP430單片機來控制三線傳輸功能,由FPGA產生三線傳輸時序,由相應的上位機軟件來測試數據通信。經測試,該測試儀具有使用方便、功能齊全、性能穩定等特點, 能夠較好應用于航天領域的三線串行接口通信測試中。
中圖分類號: TM932
文獻標識碼: A
文章編號: 0258-7998(2013)02-0082-04
Three-wire serial interface test system based on MSP430 and FPGA
Yang Ting, Nian Wei
Beijing Institute of Space Mechanics & Electricity, Beijing 100076, China
Abstract: Designed a three-wire serial interface tester based on the MSP430 MCU and FPGA by studying the constitute principle of the three-wire serial interface. The tester used MSP430 microcontroller to control the three-wire transmission function, the three-wire transmission timing generated by the FPGA and the corresponding host computer software is compiled to test the data communication. Test results show that the three-wire serial interface tester have the characteristics of easy to use, fully function, and stable performance, which could be better used in the three-wire serial interface communications test of the aerospace industry.
Key words : three-wire serial interface; communication test; FPGA; MSP430; timing control

    三線串行接口是一種廣泛應用在航天工程領域的簡單串行通信接口,是航天單機產品遙測遙控通信鏈路的重要環節。三線串行接口具有電路簡單、時序便于實現、波特率可調等諸多優點[1]。

    傳統三線串行接口的設計一般是采用數字電路搭接而成,雖然能滿足工程設計要求,但是體積較大,耗費資源過多,而且靈活性欠佳。為了對三線串行接口電路進行優化,同時對三線串行通信進行測試,本設計采用FPGA技術設計了三線串行接口的時序電路,將三線時序功能集成到單片FPGA中,大大減小了電路單元體積。同時,采用單片機MSP430來控制FPGA中產生的三線串行時序,單片機通過RS232C通信方式與PC進行通信,進而在上位機軟件中直接配置三線串行接口的時序參數和通信數據,使得測試三線串行接口通信的方便性和靈活性大大增強。
1 三線串行通信原理
    三線串行接口通信是一種主從同步串行通信,其數據發送端和接收端有共同的時鐘源,數據接收端采用光耦隔離,一般時鐘頻率在100 kHz~1 MHz之間。三線串行接口有門控信號EN、時鐘信號CLK、串行數據信號DATA三根信號線。三線串行接口包括發送和接收兩種工作模式,圖1給出了三線串行通信發送模式的一種時序圖。

    門控信號EN的下降沿表明一次數據傳輸的開始,之后保持低電平有效,數據在時鐘信號的下降沿采樣,每個時鐘周期接收或者發送一位串行數據,直到數據發送完成。在數據發送或接收的整個過程中,門控信號一直處于低電平不變[2]。
2 三線串行接口測試儀的總體方案設計
    本設計將三線串行接口測試儀劃分為三大功能單元:FPGA時序產生單元、MSP430控制單元、上位機軟件單元。圖2是三線串行接口測試儀的總體方案設計框圖。    FPGA時序單元主要用于產生三線串行時序,選用Xilinx公司的Spartan-3A系列FPGA,其上電配置由一片PROM來實現。FPGA時序單元通過Verilog語言編寫的有限狀態機來實現各種時序,有限狀態機屬于一種時序邏輯電路,是協調相關信號動作、完成特定操作的控制中心[3]。有限狀態機一般由三部分組成:當前狀態、下一狀態和輸出邏輯。本設計采用摩爾型有限狀態機來實現各種模式的三線接口時序,所謂摩爾型狀態機指輸出值與當前的狀態有關,與當前的輸入無關。

    MSP430控制單元主要用于對FPGA的各種功能模塊進行控制,通過APB總線的方式訪問FPGA內部的寄存器來實現。單片機通過C語言編程的方式靈活地修改各個時序參數,并和上位機軟件進行通信。
    上位機軟件采用微軟公司的VC++集成開發環境開發,本設計將軟件劃分成幾個小功能模塊,并將部分模塊做成動態鏈接庫的形式供主程序調用。上位機軟件主要包括主接收程序、數據發送程序、三線串行接口配置程序、RS232通信動態鏈接庫。
    此外,電路中用到了多組電源,FPGA供電電壓為1.2 V,單片機供電電壓為3.3 V,三線串行接口的數據接收端一般需要光耦隔離,本設計選用的是5 V供電的光耦,RS232通信芯片也是5 V供電,所有這些電壓都由相應的電源芯片直接產生。
3 三線串行接口測試儀設計方案的實現
3.1 三線串行接口時序產生單元的FPGA實現

    設計的三線串行接口電路要求能夠實現三線串行時序,同時要求具備時序參數(比如時鐘頻率、采樣方式等)可調、數據收發等功能,根據上述目標,本設計將FPGA時序產生單元劃分成以下幾個模塊:three-wire register interface(三線寄存器接口模塊)、three-wire send(三線發送模塊)、 three-wire receive(三線接收模塊)和three-wire clock(三線時鐘產生模塊)。
    Three-wire register interface:該模塊主要用于FPGA與單片機MSP430的通信。本設計將FPGA當作一個外部設備掛接在MSP430的I/O端口,MSP430控制I/O端口通過特定的總線時序來訪問FPGA內部的配置寄存器。總線時序采用APB總線時序。APB總線是ARM體系結構里片內芯片互聯的一種高性能總線,其控制信號線包括:復位信號RST、系統時鐘SYSCLK、讀信號READ、寫信號WRITE、片選信號PSEL、使能信號PEN,另外還包括一個8位的地址總線ADDR[7:0]和8位數據總線DATA[7:0][4]。圖3給出了三線寄存器接口APB總線連接圖。

    Three-wire send:該模塊主要用于三線串行接口發送數據時的時序產生,三線發送模塊時序采用摩爾型狀態機實現,該狀態機共有7個狀態:IDLE狀態、START狀態、DELAY1狀態、SEND狀態、DELAY2狀態、END狀態和DELAY3狀態,各個具體狀態轉換如圖4所示。
    每個狀態都有一個狀態指示控制信號,以SEND狀態為例,其指示控制信號為send_run。當狀態機進入SEND狀態后,send_run變為1,然后SEND狀態的電路開始工作。當該電路執行完畢后會將send_run變為0時,表明退出SEND狀態,狀態機進入下一狀態。其余狀態類似。各狀態定義如下:
    IDLE狀態,為空閑等待狀態,即系統上電后的狀態機的初始狀態,當系統完成初始化或者完成一次完整的時序功能后狀態機都會返回IDLE狀態。
    START狀態,表示三線串行通信開始,在檢測到三線串行接口的使能數據線EN有效后狀態機進入到START狀態。
    DELAY1狀態,表示三線串行通信數據使能后,時鐘信號相對使能信號的延遲時間,該狀態實際上起到一個延時的作用。
    SEND狀態,表示三線串行通信數據開始發送,該狀態下三線串行數據將開始移位發送。
    DELAY2狀態,表示三線串行通信數據發送完一個字節后的間隔時間,該狀態實際上起到一個延時的作用。
    END狀態,這是表示三線串行通信數據發送結束。
    DELAY3狀態,這是表示三線串行通信數據發送結束后,使能信號變成無效后相對最后一個時鐘觸發沿的延遲時間。
    Three-wire receive:當三線串行接口的使能信號線有效后(高電平有效或低電平有效),在同步時鐘的觸發下(上升沿或下降沿)對數據信號線進行采樣,采樣得到的數據位經過一個8位移位寄存器實現串/并轉換,轉換后的8位并行數據存放到接收FIFO中。接收FIFO的大小為128 B,接收FIFO的使用使得三線串行接口具備了數據緩存功能,不必擔心單片機和FPGA接口速度匹配問題導致的數據丟失。當三線串行接口的使能信號由有效變成無效時,接收模塊向系統發送“三線數據接收結束”中斷,該中斷信號直接與單片機的外部中斷連接,從而單片機可以快速響應該中斷通過APB總線讀取接收FIFO中的數據。圖5是三線接收模塊的構成框圖。

    Three-wire clock三線時鐘模塊:該模塊實際上是一個時鐘分頻模塊。由于FPGA系統采用的系統時鐘頻率為50 MHz,本設計需要的三線串行模塊的時鐘頻率是由系統時鐘頻率經分頻得到[5]。為了實現可調的三線時鐘頻率,要求分頻系數可調。分頻系數存儲于一個32 bit的分頻寄存器中,通過三線串行接口模塊中的寄存器配置能修改該分頻系數。
    通過ISE自帶的ISim仿真器對三線串行接口時序產生單元做了功能仿真,仿真圖如圖6所示。

3.2 單片機控制三線串行接口寄存器
     MSP430單片機在測試儀中起到控制和配置三線串行通信參數的作用,這是通過單片機讀寫APB總線上掛接的三線串行接口配置寄存器組來實現的。本設計自行定義了配置寄存器的地址和功能。以三線串行接口LINE1寄存器組為例來介紹配置寄存器:LINE1寄存器組包括了發送相關的7個寄存器,分別用于控制三線串行接口的發送參數。如表1所示,LINE1_CLK寄存器是一個32位的寄存器,其訪問地址為0x14,屬于LINE1寄存器組,通過配置LINE1_CLK寄存器可以很容易調整三線串行接口的時鐘頻率,其調整范圍可以從0~1 MHz,這可以通過調整分頻系數寄存器來計算。     
3.3上位機軟件設計

 


    上位機軟件主要劃分成幾個模塊:數據收發單元、配置文件、RS232通信動態鏈接庫、圖形用戶接口。其中圖形用戶接口是軟件的主程序,在該程序中可以調用其他程序[6]。比如可以調用數據發送程序來發送三線串行數據,也可以調用配置程序來配置三線串行接口的通信參數等。圖7是上位機軟件的系統架構圖。

    三線串行接口配置軟件功能包括調整三線串行總線頻率f、調整三線時序中的t1、t2、t3以及總線信息設置等。三線發送軟件功能包括數據發送的模式和方式,如手動發送、自動發送等模式,以ASCII或HEX方式發送等。
    本文通過介紹三線串行接口通信原理,給出了三線串行通信接口測試儀的硬件電路和軟件設計。針對傳統三線串行接口電路資源占用過多且不夠靈活的缺點,構建了基于MSP430單片機和FPGA的三線串行通信測試儀,詳述了其組成模塊及工作方式。本方案設計合理可行,優點突出,滿足了實際應用要求。目前,此測試儀已研制出樣機并成功應用于某航天型號項目的通信測試平臺中。
參考文獻
[1] 楊承富,徐志軍. SPI總線接口的FPGA設計與實現[J].現代電子技術,2004,27(2):73-74.
[2] 馮春陽,張遂南,王瑋,等.基于FPGA的三線制同步串行通信控制器設計[J].電子技術應用,2009,35(9):54-56.
[3] 田耘,徐文波.Xilinx FPGA 開發實用教程[M].北京:清華大學出版社,2008.
[4] MAXIM Corp.SPI/I2C Bus Lines Control Multiple Peripherals[EB/OL].http://www.maxim-ic.com/an4042.2007.
[5] HUANG R W, HUANG H W. Development of real time monitoring system using controller area network[J]. Materials Science Forum,2006(1):505-507.
[6] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲网站在线播放| 国产日韩专区在线| 亚洲免费影视第一页| 一区二区三区视频免费在线观看| 99精品热视频只有精品10| 欧美精品18videos性欧美| 中文av一区特黄| 国产精品日本| 91久久综合| 一区二区三区蜜桃网| 国产色产综合产在线视频| 国产区二精品视| 欧美三级视频在线观看| 亚洲国产婷婷香蕉久久久久久99| 国产精品视频精品| 国产视频一区二区在线观看| 模特精品裸拍一区| 国产一区二区三区四区老人| 伊人久久大香线蕉av超碰演员| 欧美日韩 国产精品| 欧美一级二区| 久久久综合激的五月天| 宅男噜噜噜66国产日韩在线观看| 国产一区二区三区在线播放免费观看| 亚洲国产视频一区二区| 国产精品久久久久久久久久尿| 久久综合精品一区| 久久免费视频一区| 亚洲国产精品专区久久| 国产一区日韩二区欧美三区| 国产一区二区中文| 亚洲国产精品一区二区www在线| 久久精品毛片| 欧美精品在线观看| 一区二区三区国产在线观看| 国产精品久久77777| 性做久久久久久久免费看| 国产日韩欧美一区二区| 欧美激情久久久| 免费日本视频一区| 亚洲午夜电影在线观看| 99精品国产一区二区青青牛奶| 亚洲欧美卡通另类91av| 国产精品热久久久久夜色精品三区| 欧美精品麻豆| 久久久噜噜噜久久狠狠50岁| 美女精品一区| 久久一区二区视频| 亚洲精品国产精品乱码不99按摩| 欧美三级视频| 久久躁狠狠躁夜夜爽| 国产精品美女久久久久久久| 母乳一区在线观看| 国产亚洲人成a一在线v站| 欧美午夜不卡视频| 欧美久久一区| 黄色成人小视频| 亚洲午夜性刺激影院| 欧美一区在线直播| 国产精品久在线观看| 国产精品视频1区| 欧美成人亚洲| 国产精品久久| 久久婷婷蜜乳一本欲蜜臀| 羞羞漫画18久久大片| 欧美在线免费视频| 亚洲欧洲一二三| 亚洲日本久久| 欧美精品一区二区三| 欧美电影在线| 久久精品日产第一区二区| 欧美视频不卡中文| 最新成人av在线| 亚洲精品在线看| 国产精品亚洲一区二区三区在线| 欧美视频日韩视频在线观看| 99视频在线精品国自产拍免费观看| 久久露脸国产精品| 久久久一区二区| 欧美日韩久久| 香蕉久久a毛片| 欧美日韩国产在线播放网站| 国产精品久久久久国产精品日日| 国产精自产拍久久久久久蜜| 一区二区三区鲁丝不卡| 亚洲婷婷综合色高清在线| 欧美国产日韩在线| 欧美精品一区二区三区一线天视频| 亚洲视频导航| 在线观看亚洲a| 欧美视频在线观看免费| 亚洲一区二区三区午夜| 欧美日韩无遮挡| 亚洲午夜国产成人av电影男同| 91久久精品国产91久久性色tv| 夜夜嗨av一区二区三区| 另类欧美日韩国产在线| 久久青青草综合| 美女性感视频久久久| 欧美区日韩区| 美女爽到呻吟久久久久| 亚洲欧美一区二区三区极速播放| 国产精品第13页| 亚洲免费观看| 国产情人综合久久777777| 亚洲伦理在线免费看| 久久av一区| 99视频热这里只有精品免费| 亚洲九九九在线观看| 久久综合中文字幕| 欧美日韩精品系列| 亚洲视频香蕉人妖| 亚洲网在线观看| 久久香蕉国产线看观看av| 午夜精品偷拍| 亚洲一区视频| 久久综合伊人77777麻豆| 国产午夜精品全部视频播放| 欧美在线观看你懂的| 亚洲精品在线观看视频| 亚洲精品视频在线播放| 久久久蜜臀国产一区二区| 国产精品国产福利国产秒拍| 久久不射中文字幕| 亚洲美女尤物影院| 亚洲一区二区黄色| 久久高清一区| 欧美精品尤物在线| 亚洲制服欧美中文字幕中文字幕| 国产色综合久久| 久久久999成人| 欧美日精品一区视频| 国产女人18毛片水18精品| 国产亚洲欧美日韩美女| 久久综合国产精品台湾中文娱乐网| 国产一区自拍视频| 欧美激情精品久久久六区热门| 久久国产天堂福利天堂| 欧美亚男人的天堂| 在线观看一区二区精品视频| 国产毛片精品国产一区二区三区| 一区二区三区视频在线看| 久久精品视频免费播放| 亚洲第一页中文字幕| 黄色成人在线免费| 国产精品青草久久久久福利99| 免费在线国产精品| 欧美激情精品久久久久久大尺度| 久久在线视频| 极品裸体白嫩激情啪啪国产精品| 欧美一区二区三区电影在线观看| 国产日韩在线看片| 欧美日韩精品免费在线观看视频| 亚洲一级在线观看| 国产精品一二三| 韩国av一区二区三区在线观看| 快播亚洲色图| 亚洲欧美日韩在线观看a三区| 亚洲人成人77777线观看| 日韩午夜在线| 欧美波霸影院| 欧美系列亚洲系列| 国内精品视频在线观看| 欧美色另类天堂2015| 一本色道久久综合亚洲二区三区| 国产精品久久久久毛片软件| 国内精品写真在线观看| 欧美日韩在线精品一区二区三区| 欧美激情一区二区三区四区| 美女黄色成人网| 欧美日韩一区高清| 久久久美女艺术照精彩视频福利播放| 欧美va亚洲va国产综合| 国产精品久久久久永久免费观看| 亚洲精品久久久久久久久久久久久| 欧美成人精品h版在线观看| 亚洲图片你懂的| 国产色综合网| 国产乱肥老妇国产一区二| 国产精品欧美日韩一区| 亚洲啪啪91| 一区二区三区av| 国自产拍偷拍福利精品免费一| 欧美成人官网二区| 久久亚洲私人国产精品va| 国产精品资源在线观看| 亚洲国产91| 午夜激情久久久| 韩日在线一区| 欧美小视频在线观看| 欧美xxx在线观看| 正在播放亚洲一区| 久久蜜臀精品av| 影音先锋成人资源站| 久久亚洲不卡| 亚洲欧美成人网| 久久久亚洲精品一区二区三区| 精品成人国产在线观看男人呻吟| 久久精品91久久香蕉加勒比| 欧美在线影院| 国产一区 二区 三区一级| 欧美日韩一区二区三区免费| 日韩视频第一页| 亚洲天堂免费观看| 久久一二三四| 国产日韩欧美在线播放不卡| 亚洲一区二区少妇| 一区二区三区欧美激情| 亚洲欧洲另类国产综合| 国产精品青草综合久久久久99| 日韩一级欧洲| 久久这里有精品视频| 国产手机视频一区二区| 国产免费成人av| 欧美成人精品一区| 玖玖国产精品视频| 欧美日韩国产一级片| 亚洲精品国偷自产在线99热| 欧美在线看片a免费观看| 亚洲精品少妇| 国模精品娜娜一二三区| 含羞草久久爱69一区| 极品中文字幕一区| 国产精品盗摄一区二区三区| 欧美日韩在线一二三| 精品69视频一区二区三区| 欧美成人精品h版在线观看| 久久尤物电影视频在线观看| 亚洲国产小视频| 欧美韩国日本综合| 欧美噜噜久久久xxx| 久久久在线视频| 国产精品二区在线观看| 亚洲尤物在线| …久久精品99久久香蕉国产| 亚洲免费影视第一页| 国产免费成人在线视频| 欧美人成免费网站| 欧美日韩精品中文字幕| 久久亚洲私人国产精品va| 欧美日韩一区自拍| 欧美成人午夜视频| 国产精品一区视频| 国产精品久久国产精麻豆99网站| 亚洲欧美变态国产另类| 欧美日韩国产大片| 老鸭窝91久久精品色噜噜导演| 欧美紧缚bdsm在线视频| 欧美日韩亚洲成人| 欧美日韩国产电影| 在线午夜精品| 欧美视频久久| 欧美午夜宅男影院在线观看| 亚洲一区视频在线观看视频| 久久精品久久综合| 亚洲高清在线精品| 欧美日韩在线直播| 在线观看日韩www视频免费| 亚洲一区在线观看视频| 午夜精彩视频在线观看不卡| 亚洲国产精品嫩草影院| 亚洲免费影视第一页| 亚洲大片免费看| 欧美日韩网站| 欧美日韩亚洲网| 欧美一区二区三区四区夜夜大片| 六月天综合网| 欧美日韩免费网站| 亚洲国产精品传媒在线观看| 午夜亚洲福利| 亚洲欧美日本视频在线观看| 欧美日韩hd| 久久er精品视频| 日韩亚洲综合在线| 久久精品成人一区二区三区蜜臀| 国产精品一区二区在线观看| 一区二区三区精品久久久| 99re6这里只有精品| 在线免费日韩片| 亚洲一区二区三区免费在线观看| 亚洲摸下面视频| 欧美一区亚洲二区| 国产精品久久久久aaaa九色| 国产日韩欧美自拍| 国产午夜精品全部视频在线播放| 亚洲国产精品久久人人爱蜜臀| 欧美永久精品| 亚洲高清免费视频| 久久av一区二区| 国产在线乱码一区二区三区| 欧美精品国产一区二区| 亚洲精美视频| 亚洲精品久久久一区二区三区| 欧美国产在线视频| 欧美日韩精品免费观看视一区二区| 免费在线观看成人av| 免费成人毛片| 欧美激情欧美激情在线五月| 国产亚洲一区二区三区在线播放| 久久国产精品99精品国产| 欧美无砖砖区免费| 一本色道久久88综合日韩精品| 欧美一区二区三区精品电影| 欧美日韩一区二区视频在线观看| 欧美日韩国产在线播放| 国产精品国产三级国产专播品爱网| 欧美日韩国产色视频| 欧美国产一区视频在线观看| 国产视频久久网| 亚洲欧美精品中文字幕在线| 欧美三级网址| 99xxxx成人网| 另类天堂视频在线观看| 欧美主播一区二区三区| 一本久久a久久免费精品不卡| 黄色日韩在线| 久久精品欧美日韩精品| 国模吧视频一区| 欧美精品久久久久久| 国产亚洲精品一区二区| 欧美精品综合| 国产精品v一区二区三区| 韩国精品久久久999| 99精品视频免费观看| 国产一区二区丝袜高跟鞋图片| 国产日韩综合一区二区性色av| 亚洲国产综合91精品麻豆| 久久aⅴ国产紧身牛仔裤|