新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和FPGA的舞臺(tái)吊桿控制器的設(shè)計(jì)

基于單片機(jī)和FPGA的舞臺(tái)吊桿控制器的設(shè)計(jì)

作者: 時(shí)間:2011-12-13 來源:網(wǎng)絡(luò) 收藏

  2.2 控制系統(tǒng)

  控制系統(tǒng)主要由C8051F020組成,主要完成數(shù)據(jù)的接收與處理。C8051F020的特點(diǎn)是運(yùn)算速度快、集成度高、引腳可配置、工作穩(wěn)定和可靠性高。它完全能夠滿足對存儲(chǔ)器容量、多種總線接口、處理速度和浮點(diǎn)運(yùn)算等方面的要求。

  C8051F020單片機(jī)有UART0和UART1兩個(gè)串口,其中,串口UART0與LCD顯示器連接,用于把舞臺(tái)吊桿運(yùn)行時(shí)的位置數(shù)據(jù)送給LCD顯示器。單片機(jī)利用它的SMBUS接口連接帶有I2C總線接口的E2PROM(FM24C64鐵片存儲(chǔ)器),把現(xiàn)場數(shù)據(jù)存入存儲(chǔ)器,以備在掉電后得新上電時(shí)能夠讀出吊桿的當(dāng)前位置,連續(xù)控制吊桿的運(yùn)動(dòng);同時(shí)利用它的普通I/O口與網(wǎng)卡芯片RTL8019和控制器相連,實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。

  2.3 控制器的設(shè)計(jì)

  控制器是利用EDA方法實(shí)現(xiàn)的,主要用 于對霍爾傳感器過來的脈沖進(jìn)行計(jì)數(shù)并控制電機(jī)。由于吊桿運(yùn)動(dòng)過程中產(chǎn)生的脈沖頻率高,F(xiàn)PGA控制器計(jì)數(shù)量大,所以本設(shè)計(jì)選擇了高容量、高性能的可編程邏輯器件,即ALTERA公司的FLEX 10K系列FPGA。

基于CYGNAL單片機(jī)和FPGA的舞臺(tái)吊桿控制器的設(shè)計(jì)

  2.3.1 FPGA控制器的模塊劃分

  根據(jù)系統(tǒng)功能要墳,F(xiàn)PGA控制器的頂層模塊被劃分為以下四個(gè)模塊:兩個(gè)5-32譯碼器、八路與門模塊、八路16位可逆并行計(jì)數(shù)模塊、電機(jī)控制模塊,如圖3所示。

  兩個(gè)5-32譯碼器模塊的功能是提供與單片機(jī)的接口,實(shí)現(xiàn)可編程接口邏輯。八路計(jì)數(shù)模塊(COUNTER8_FILE_LAST模塊)包括八個(gè)單路計(jì)數(shù)模塊、數(shù)據(jù)轉(zhuǎn)換模塊等,其功能是對霍爾傳感器過來的八路脈沖信號進(jìn)行可逆計(jì)數(shù)并完成16位數(shù)據(jù)與8位數(shù)據(jù)之間的轉(zhuǎn)換。由于C8051F020單片機(jī)的數(shù)據(jù)長度是8位,而計(jì)數(shù)模塊完成的是16位墳數(shù),所以必須進(jìn)行數(shù)據(jù)位數(shù)的轉(zhuǎn)換。

  2.3.2 FPGA模塊的功能仿真

  FPGA控制器是用ALTERA公司的FLEX10K10芯片,在MAX+PLUSII軟件中進(jìn)行設(shè)計(jì)綜合的。根據(jù)上述的模塊劃分,在MAX+PLUSII中的仿真波形圖如圖4所示。

基于CYGNAL單片機(jī)和FPGA的舞臺(tái)吊桿控制器的設(shè)計(jì)

  3 的軟件設(shè)計(jì)

  的軟件主要包括:主程序、UDP數(shù)據(jù)的傳輸與解析程序、串口數(shù)據(jù)的發(fā)送程序、數(shù)據(jù)存儲(chǔ)程序等。

  3.1 通信協(xié)議設(shè)計(jì)

  在舞臺(tái)吊桿控制系統(tǒng)中,遠(yuǎn)程控制端通過局域網(wǎng)采用UDP/IP協(xié)議給舞臺(tái)吊桿控制器發(fā)送命令并接收來自控制器的數(shù)據(jù)包。UDP/IP數(shù)據(jù)包的格式如下:


  在使用該協(xié)議時(shí),命令信息和狀態(tài)數(shù)據(jù)都在UDP DATA數(shù)據(jù)區(qū)。為了完成控制目的,必須對這塊數(shù)據(jù)區(qū)的數(shù)據(jù)制定協(xié)議,協(xié)議格式如表1所示。

  表1 協(xié)議格式



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉