999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA設計的太陽能交通信號燈控制器

2017-03-31 01:23:54聶明旺劉杰
單片機與嵌入式系統應用 2017年3期
關鍵詞:設計

聶明旺,劉杰

(福州大學 物理與信息工程學院,福州 351100)

FPGA設計的太陽能交通信號燈控制器

聶明旺,劉杰

(福州大學 物理與信息工程學院,福州 351100)

現在大多數太陽能交通信號燈控制器采用單片機設計,交通信號燈主控制器和從控制器采用無線傳輸的方式傳輸數據,但是經過交叉路口的車輛所帶來的電子干擾會對無線傳輸線路帶來一些影響。本文完全采用FPGA設計交通信號燈從控制器,主控制器與從控制器采用有線傳輸,接口電路使用FPGA和CAN傳輸線實現。采用FPGA實現的從控制器實質上相當于一個純硬件電路的設計,傳輸接口采用CAN傳輸線,具有非常強的抗干擾性。最后仿真、制板、測試,實現了主控制器與從控制器之間的穩定傳輸。

太陽能;FPGA;交通信號燈;CAN傳輸線

引 言

隨著國內道路的不斷擴建,道路交通狀況也逐漸變得復雜,市場需要不同種類的交通信號機制來應對不同路況。比如在一些城郊的交叉路口安裝交通信號,由于鋪設電纜很不方便,這時就需要采用其他能源供電。國內有很多公司設計了基于太陽能供電的交通信號燈控制器,有移動式的和固定式的。移動式太陽能交通信號燈控制器需要較多人力去維護,如果長期放在外面也易被盜竊或損壞。市場上出現的固定式太陽能交通信號燈控制器大多都是采用無線傳輸的方式傳輸信號亮滅數據,雖然很方便,但易受干擾。本文基于FPGA設計了一種太陽能交通信號燈控制器,傳輸可靠、安裝位置固定,且機箱體積要比采用市電供電的信號燈小很多[1-2]。

1 硬件設計與結構組成

文中設計的信號燈控制器用在一些市電供電不方便的路口,從控制器由交通信號燈驅動電路、狀態回讀電路、通信接口電路、主控芯片等部分構成,主控制器則是由與從控制器通信的接口電路、串口等一些外部接口構成。主控制器留有接口與上位機通信,將當前交通信號燈和傳輸線路是否處于正常工作狀態上的數據傳輸到終端,如有故障產生,及時維修。圖1為從控制器的結構框圖,圖2為主控制器結構框圖。本文主要介紹從控制器的電路設計以及通信接口的設計。

圖1 交通信號燈從控制器結構圖

圖2 交通信號燈主控制器結構圖

1.1 驅動與狀態回讀電路

由圖1可知,從控制器通過FPGA的I/O口輸出電平來控制交通信號燈的亮滅,再通過信號燈狀態回讀電路將當前信號燈亮滅狀態數據輸入到FPGA內部。文中FPGA采用XILINX的XC3S50芯片,該芯片價格低廉,且FPGA本身就具有比單片機功耗低的優勢。信號燈驅動電路由場效應管和光耦構成,其電路如圖3所示。圖中U9和U23是型號為PC817的光耦,Q1是型號為RF840的場效應管[3]。首先FPGA的I/O口接U9的第二個引腳,即Led_out1,當該引腳輸出0時,場效應管導通,為1時,不導通。場效應管標號為L1的一端接交通信號燈燈盤的負極,燈盤的正極接+12V電壓。所以當Led_out1輸出電平為0時,燈盤點亮,為1時則不亮。標號為U23的光耦用來讀取交通信號燈狀態,它的第二個引腳,即標號為RD1的一端,接在交通信號燈串并混合連接處。當燈處于不亮狀態時,U23的1、2兩引腳沒有導通,引腳4則表現出邏輯電平1,即Data1邏輯電平是1,且該端輸入到FPGA中。同理,當燈處于亮的狀態時,Data1邏輯電平為0。該種連接方式可以保證如果燈盤與從控制器連接出現問題時,控制器自動判斷線路出現問題。

圖3 交通信號燈驅動與狀態回讀電路

1.2 通信接口電路

圖1和圖2的通信接口是采用CAN收發器設計。CAN傳輸線有2根信號線,分別為CANH與CANL,電平用顯性和隱性表示。“顯性”表示邏輯數值“0”,“隱性”表示邏輯數值“1”,顯性時CANH與CANL之間的電壓差較大,而隱性時,CANH與CANL之間電壓差較小。CAN收發器通過檢測這兩端的電壓差值來判斷位碼的“0”與“1”。總線電平是由顯性電平決定,如果總線處于空閑狀態時,保持隱性電平狀態,這一特性成為了CAN總線協議的重要要素之一[4-6]。

在本設計中采用CTM8251T芯片,其電路如圖4所示。由圖1、圖2可知,從控制器和主控制器的通信接口由兩組CAN傳輸網絡構成,一組傳輸時鐘信號,另一組傳輸數據。圖4是從控制器的通信接口電路,其中SCK用來接收主控制器發送過來的時鐘信號,CAN_TXD輸出電平為1。SDO用來接收主控制器發送過來的數據,SDI是從控制器向主控制器發送數據的端口。

圖4 從控制器通信接口電路圖

2 FPGA內部通信規則設計

由于本設計中,從控制器的通信接口采用CAN收發器設計,主控制器也需要有對應的CAN收發器設計的通信接口。從控制器的通信協議設計采用FPGA設計完成,為了使得整個通信更穩定,主控制器的通信協議設計也采用FPGA設計。因為使用FPGA設計,是完全基于一個硬件的設計,且FPGA設計在時序上是更敏感的,相比于采用單片機設計,通信會更穩定、可控。

2.1 主控制器通信規則設計

本文在物理層上采用CAN傳輸線傳輸數據,但是FPGA內部傳輸規則的實現是采用類似于SPI總線協議的方式。傳統的SPI總線是通過片選信號線選擇從機通信,本設計中不采用片選信號線,采用主控制器向從控制器尋址的方式來通信。圖5是本設計中通信協議的數據幀格式,首先由主控制器發送數據,發送第一個字節,第一個字節的最高位規定為0,次高位為讀寫命令,當該位為1時,表示主控制器想要向從控制器寫數據,如果該位為0,表示讀取從控制器中的燈組狀態數據。接下來的六位是地址,代表想要訪問的從控制器地址。然后是傳輸有效數據,由于CAN傳輸線的特性,從控制器或者主控制器傳輸數據時只有一方能占用傳輸線,另外一方必須發送隱性電平。數據傳輸的最后一個字節的第二位為0,是從控制器判斷有效數據接收結束的一個標志,第一位則是確認位(ACK),從控制器在該位發送邏輯電平0,主控制器在該位發送邏輯電平1,該位表示一幀數據傳輸完成[7]。

圖5 數據幀格式

主控制器的通信接口設計分為4個模塊:地址選擇、數據發送、數據接收、時鐘信號產生模塊。地址選擇模塊是用來選擇哪一個從控制器與主控制器通信,數據發送和數據接收模塊用于數據傳輸處理。時鐘信號產生模塊用來產生時鐘信號,傳輸過程中,主控制器和從控制器中數據的傳輸都是依靠此模塊產生的時鐘信號,在時鐘信號的上升沿或者下降沿下發送、接收數據。圖6是FPGA芯片經過XILINX公司軟件ISE進行綜合后的得到的一個內部電路之間的連接圖,該圖是信號機主控制器的通信接口內部實現結構圖。

圖6 主控制器通信接口結構圖

圖6中地址選擇模塊中的addr_count[1:0]是地址選擇序列號,主控制器通過該數據選擇與對應地址的從控制器通信。比如當addr_count等于0時選擇某個地址,等于1時選擇另外一個地址,等于2時又是不同的地址,依此類推。此處可以選擇4個不同地址的從控制器,如果需要更多的選擇,只需要將addr_count的位寬設大一點。r_or_w是讀寫位,當該位為0時,表示主控制器想要讀取從控制器中的數據,為1則表示主控制器要向對應的從控制器中發送數據,然后將r_or_w位和6位地址組成8位的數據(最高位是0)輸入到數據發送模塊,具體數據幀格式如圖5所示。

在時鐘信號產生模塊中,clk是輸入時鐘信號,由FPGA的外部晶振模塊提供,SCK是經過分頻后產生的信號。此處為了測試,設置了sck_command這個時鐘產生控制位,當該位為0時產生SCK時鐘,否則不產生。通信中,數據的接收和發送都是依靠SCK的上升沿或者下降沿,所以當sck_command為1時,傳輸失效。時鐘信號產生模塊中的SCK當作數據接收和數據發送模塊中的輸入引腳,由圖6可知,就是這兩個模塊的clk輸入引腳。數據發送模塊中的addr_data[7:0]輸入是地址選擇模塊中的輸出addr_q[7:0],包含了地址和讀寫位信息。

在本設計中,數據發送模塊的輸出引腳是SDO,該引腳上的數據是在sck的下降沿發生變化。數據接收模塊中的輸入引腳是SDI,該引腳在sck的上升沿將數據送到數據接收模塊的移位寄存器中。只有r_or_w為0且數據驗證通過,數據接收模塊才將所得到的數據放入到q[5:0]中保存。數據驗證就是驗證接收到的數據最后一位是否為0,如果不為0,則數據接收錯誤,通知數據發送模塊重發,且此次接收的數據拋棄。

2.2 從控制器通信規則設計

從控制器的電路結構由圖1可知,它包括2個CAN收發器和一片FPGA芯片。芯片內部電路包含一個數據接收通道和一個數據發送通道。接收通道實現對數據幀的地址識別、串行接收和并行輸出,以及對各電路單元的復位,電路單元由地址接收、數據接收、幀結束識別、自動復位、組合邏輯電路、數據發送和一些邏輯與門構成。數據發送通道實現對讀數據幀的響應,并行輸入燈組工作狀態轉換為串行數據移位輸出,電路單元只有一個發送數據處理器。代碼經過ISE軟件綜合后,在FPGA內部編程實現的電路如圖7所示。

圖7 從控制器通信接口電路

圖7中各個模塊的時鐘信號都是來自于主控制發送過來的SCK信號。地址接收和數據接收模塊都是在SCK的上升沿將SDO數據線上的數據移位至接收移位寄存器中,數據發送模塊在SCK的下降沿時,將發送移位寄存器數據移位至SDI數據線上。當主控制器開始發送數據時,經CAN傳輸線傳送,時鐘信號由CAN收發器1的RXD端輸入,提供給各電路單元的clk端。數據幀由CAN收發器2的RXD端輸入,移位進入地址接收模塊和數據接收模塊中處理。當接收完第一個字節時,將其低6位數據與本地位寬為6位的地址比較,如果一致,表明地址匹配,match端輸出高電平。當地址模塊接收完第一個字節后,就不再接收數據,除非得到復位信號。

由于文中協議規定數據幀的最高位為邏輯0,所以在地址接收模塊內定義了bit_first位,寬度為1位。初始狀態下bit_first端為高電平,所以當地址接收模塊接收完第一個字節時,bit_first端為低電平,在bit_first的下降沿鎖存r_or_w端電平,當match端輸出高電平時,數據發送模塊開始準備發送數據。

如果r_or_w端輸出高電平,說明主控制器發送的是一個寫數據幀,數據發送模塊發送的數據最低位被設置為邏輯0(ACK位)。因此,在最后1位(幀結束位)之前,數據發送模塊均輸出邏輯1,即隱性電平,從而不影響CAN傳輸線狀態。只有當移出最后一位邏輯0時,CAN傳輸線狀態轉為顯性電平,作為ACK信號傳送到主控制器。如果r_or_w端輸出低電平,說明主控制器發送的是一個讀數據幀,數據發送模塊將信號燈狀態數據發送至主控制器。

從控制器的各電路單元中的移位寄存器都是8位的,接收通道的所有移位寄存器初始狀態均為0xFF,因此,bit_first2端初始狀態為低電平。當數據幀的最高位邏輯0到達幀結束識別模塊的移位寄存器最高位時,bit_first2端輸出高電平,幀中數據結束位的邏輯0到達bit_end端,使之輸出高電平。由于bit_first2端電平產生正跳變,觸發復位電路在短暫的延時之后,在reset端輸出低電平,使各電路單元回歸初始狀態。如果從控制器接收的是一個寫數據幀,而且地址匹配,那么,當數據幀結束時,match、r_or_w、bit_end、bit_first2均為高電平,使得使能模塊輸出高電平,在復位信號輸出低電平之前,觸發串行轉并行移位寄存器并行輸出數據[7]。為方便測試,輸出數據接收模塊接收最后一個字節的高6位數據。

3 仿真與測試

3.1 主控制器仿真測試

主控制器的主控芯片由STM32和FPGA構成,本文主要介紹FPGA內部通信接口設計仿真。本文中,數據幀長度是16位,由兩個字節構成。其中第一個字節包含了地址和讀寫位信息,第二個字節的高6位是有效數據位。主控制器通過分頻模塊產生所需要的時鐘信號SCK。如果主控制器想要與從控制器進行通信,則將sck_command賦值為0,開始產生時鐘。因為這里傳輸一幀數據是16位,所以傳輸數據需要16個時鐘周期,但是傳輸完成后,從控制器各個模塊需要復位,因此多傳輸一個時鐘周期,所以主控器和從控制器完成一次通信需要主控制器產生17個時鐘周期。主控制產生時鐘后,開始在SCK的下降沿發送數據,在SCK的上升沿接收數據,SCK在空閑時刻處于高電平。本文采用XILINX的開發軟件ISE中自帶的仿真軟件ISim仿真,其波形圖如圖8所示。

圖8顯示的是主控制器向從控制器讀取數據的操作。SCK和SDO是輸出信號端口,分別對應CAN1和CAN2的發送端,SDI是輸入端口,對應的是CAN的接收端。起初sck_command為0,表示開始產生數據時鐘信號,然后主控制器在SCK的下降沿發送數據,在SCK的上升沿接收數據。主控制器與從控制器完成一次通信需要17個數據時鐘信號周期,前16個時鐘傳輸數據。主控制器在第17個時鐘信號的上升沿將接收數據移位寄存器的高6位鎖存輸出,從圖中可知,主控制器向從控制器中讀取的數據是0x25(二進制為0010 0101),其與SDI輸入端口的數據是一致的。

3.2 從控制器仿真測試

從控制器主控芯片只有FPGA芯片,本文是主要針對通信接口設計的仿真,仿真圖如圖9所示。同樣,從控制器接收一幀數據的時鐘需要17個時鐘。圖中的SDI是輸出信號端,連接CAN2收發器的發送端。SCK和SDO是信號輸入端,分別對應CAN1和CAN2的接收端。從控制器首先在SCK的下降沿下接收SDO引腳上的數據,

圖8 主控制器接口讀數據仿真圖

圖9 從控制器接收數據仿真圖

在SCK的上升沿下發送數據。當從控制器在接收數據時,SDI端口上表現的是高電平。SDO端口發送過來的數據為0x6155,總共兩個字節,高字節的低6位是地址,為0x21(二進制是0001 0001),與從控制器的本地地址一致,低字節的高6位是有效數據位,為0x25,和圖中數據接收寄存器中的值一致。

結 語

在數據實際傳輸過程中發現,有時接收不到從控制器的數據。經檢查,從控制器與主控制器在通信過程中如果線路發生故障,從控制器沒有復位,等到下次繼續發送數據,從控制器接收通道的數據是由上次通信過程中遺留下的數據和現在接收的數據組成,造成數據接收錯誤。

[1] 徐建閩,徐俊斌,鐘漢如.MSP430單片機實現交通信號機的研究[J].機械與電子,2004(6):54-55.

[2] 向懷坤,梁松峰,袁媛.基于CAN/μCOS-II的網絡交通信號控制器設計[J].深圳職業技術學院學報,2008(3):3-6,50.

[3] 魏志翔,周莉萍,徐龍,等.基于CAN總線的嵌入式車燈監控系統設計[J].電子設計工程,2012(12):33-35,38.

[4] 宗平,魏學業,康立學.太陽能交通信號燈系統設計[J].現代電子技術,2010(23):201-203,206.

[5] 饒運濤,鄒繼軍.現場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2003.

[6] 鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996.

[7] SunXuFei,Chen LongWei.A fieldbus applied to sensor-actuator monitoring network[J].Journal of Computational Methods in Sciences and Engineering,2015,3(15):489-497.

聶明旺(碩士研究生),主要研究方向為嵌入式技術應用;劉杰(碩士研究生),主要研究方向為智能交通。

[3] 薛小剛,葛毅敏.Xilinx IS 9.X FPGA/CPLD設計指南[M].北京:人民郵電出版社,2007.

[4] Philips Semiconductors.SJA1000 Stand-alone CAN controller,1997.

[5] 單超,王萍.基于Microblaze軟核的嵌入式系統設計[J].單片機與嵌入式系統應用,2011(3).

唐明(工程師),主要研究方向為航空電子系統與整機集成。

(責任編輯:薛士然 收稿日期:2016-10-31)

Solar Traffic Signal Lamp Controller Based on FPGA

Nie Mingwang,Liu Jie

(College of Physics and Information Engineering,Fuzhou University,Fuzhou 351100,China)

Now most of solar traffic signal lamp controller uses the microcontroller,and the wireless communication is used to transfer the data between the master controller and the slaver controller of traffic signal light,but the electronic interference caused by the intersection of the vehicle will bring some impact on the wireless transmission line.FPGA is used to design the slaver controller of the traffic signal lamp,and the master slaver controller communicates with the slaver controller through the wired transmission.The circuit of communication interface is realized by using FPGA and CAN transmission line.The slaver controller is essentially equivalent to a pure hardware circuit design,the CAN transmission line is used as the transmission interface,which has very strong anti-interference.Finally,the simulation results show that the master controller and the slaver controller can transfer the data stably.

solar energy;FPGA;traffic signal lamp;CAN transmission line

TN91

A

?士然

2016-11-14)

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产一级毛片yw| v天堂中文在线| 91久久精品日日躁夜夜躁欧美| 亚洲国产理论片在线播放| 欧美人人干| 国产中文一区a级毛片视频| 日本少妇又色又爽又高潮| 国产丝袜啪啪| 久久综合国产乱子免费| 色视频国产| 香蕉色综合| 日韩精品中文字幕一区三区| 最新国产午夜精品视频成人| 欧洲高清无码在线| 亚洲熟女中文字幕男人总站| 国产午夜在线观看视频| 国产成人h在线观看网站站| 二级毛片免费观看全程| 在线看片中文字幕| 国产极品美女在线观看| 999国内精品久久免费视频| 国产69精品久久久久孕妇大杂乱| 国产一区二区三区日韩精品| 一级香蕉人体视频| 成人午夜天| 久久精品这里只有国产中文精品| a毛片免费观看| 国产18页| AⅤ色综合久久天堂AV色综合| 欧美高清三区| 欧美日韩免费| 国产丝袜第一页| 亚洲综合欧美在线一区在线播放| 国产免费人成视频网| 免费精品一区二区h| 精品伊人久久久久7777人| 午夜精品福利影院| 热99精品视频| 国产高清在线精品一区二区三区| 91精品日韩人妻无码久久| 国产精品香蕉在线观看不卡| 激情在线网| 欲色天天综合网| 9cao视频精品| 亚洲区视频在线观看| 欧美.成人.综合在线| 香蕉eeww99国产在线观看| 再看日本中文字幕在线观看| 一级黄色网站在线免费看| 国产高颜值露脸在线观看| 亚洲黄色成人| 免费无码在线观看| 国产欧美日韩18| 久夜色精品国产噜噜| 无遮挡国产高潮视频免费观看| 欧美一级视频免费| 午夜老司机永久免费看片| 亚洲天堂免费| 91美女视频在线| 狠狠综合久久久久综| 欧美综合区自拍亚洲综合天堂| 国产日韩欧美在线播放| 国产极品美女在线| 国产h视频在线观看视频| 露脸国产精品自产在线播| 高清乱码精品福利在线视频| 啊嗯不日本网站| 亚洲精品黄| 国产成人AV综合久久| 极品国产一区二区三区| 免费看美女毛片| 香蕉99国内自产自拍视频| 久久精品国产91久久综合麻豆自制| 九色在线观看视频| 67194成是人免费无码| 国产精女同一区二区三区久| 久久久噜噜噜久久中文字幕色伊伊| a级毛片免费网站| 国内精品久久人妻无码大片高| 日本在线国产| 国产福利小视频高清在线观看| 欧美视频在线第一页|