梁瑞
(西安翻譯學院 工程技術(shù)學院, 陜西 西安 710105)
智慧交通系統(tǒng)(Intelligent Traffic System,簡稱ITS)又稱智能運輸系統(tǒng)(Intelligent Transportation System),是將先進的控制和計算機等技術(shù)有效地集成運用于整個地面交通管理而建立的綜合交通運輸管理系統(tǒng)。信號燈控制是智慧交通中最基本的環(huán)節(jié)。由于信號燈控制存在一些問題,例如路口采用“一燈一線”,信號燈多的大型路口,走線繁多雜亂,成本多,施工難度大;在路口改造或增加右轉(zhuǎn)、人行信號燈組時,需要重新破路頂管或空中飛線??偩€控制器是一種新型的交通紅綠燈控制系統(tǒng),該系統(tǒng)以信息臺和紅綠燈為載體,采集信息臺輸出的紅綠燈信號后,通過總線將信息發(fā)送給各個輸出板來驅(qū)動對應的紅綠燈。因此,總線控制器能很好地解決交通信號燈出現(xiàn)的以上問題[1]。
目前,總線控制器一般使用FPGA、嵌入式芯片或單片機設(shè)計,整體由多個控制盒和多個輸出盒組成,體積大,負載能力弱。ASIC(Application Specific Integrated Circuit)是面向特定用途而專門設(shè)計制作的集成電路。本文研究的基于ASIC技術(shù)的總線控制器可省去原本多個控制盒的繁瑣結(jié)構(gòu),可將所有功能集成在一片芯片中,便于批量生產(chǎn),與原有設(shè)計相比具有體積更小、可驅(qū)動負載更多、功耗更低、可靠性提高、性能提高、保密性增強和成本降低等優(yōu)勢。
基于ASIC技術(shù)的總線控制器的結(jié)構(gòu)分為2個層次,分別為Top層和Function層。Top層為時鐘結(jié)構(gòu)(CGU),F(xiàn)unction層為復位結(jié)構(gòu)(RGU)和存儲器單元,其中存儲器單元包括RAM和FIFO兩個模塊。整體體系結(jié)構(gòu),如圖1所示。
圖1 整體體系結(jié)構(gòu)
總線控制器電路內(nèi)部僅有1個源時鐘CLK,主頻20 MHz。該時鐘源經(jīng)延遲單元后延時2ns后產(chǎn)生3個具有一定相位差的時鐘信號CLK、CLK1和CLK2,它們分別做為三模后各模寄存器的時鐘信號。CGU結(jié)構(gòu),如圖2所示。
圖2 CGU結(jié)構(gòu)
復位結(jié)構(gòu)原理圖,如圖3所示。
圖3 RGU結(jié)構(gòu)
復位有上電復位Rst_in和軟件復位Rst_pls兩種方式。Rst_in經(jīng)兩級寄存器同步后做為系統(tǒng)硬復位,實現(xiàn)異步復位機制。Rst_pls經(jīng)20 ms的濾毛刺后做為系統(tǒng)的軟件復位。為保留軟復位的去毛刺功能,目前采用具有去毛刺功能的三模設(shè)計,可實現(xiàn)異步復位、同步撤消機制。
整個設(shè)計中有兩塊存儲器:FIFO(32×8 bit)和RAM(32×8 bit)。FIFO實現(xiàn)UART下發(fā)數(shù)據(jù)的緩沖,RAM實現(xiàn)UART接收指令的緩沖。為了提高芯片的抗輻照性能,整個存儲器采用寄存器單元實現(xiàn)兩個存儲器。
1.3.1 FIFO設(shè)計
(1) FIFO深度:32×8bit。
(2) 接口定義,如表1所示。
表1 FIFO接口定義
其中WCLOCK和RCLOCK例化時使用同一時鐘信號。
FIFO的作用是緩沖發(fā)送數(shù)據(jù),當FIFO非空時產(chǎn)生FIFO讀信號,將數(shù)據(jù)讀出FIFO發(fā)至TX模塊,以9 600 bit/s的波特率下發(fā)。雖然之前設(shè)計的讀寫時鐘分開,但在例化時采用同一個時鐘源,因此不存在差異,例化如下。
U34_temp: FIFO256X8
port map(
DATA => data_uart_out,
Q => fout_uart,
WE => syn_uart_out,
RE => uart_en,
WCLOCK => clk,
RCLOCK => clk,
FULL => full,
EMPTY => empty,
RESET => reset) ;
1.3.2 RAM設(shè)計
(1) RAM規(guī)模:32×8bit。
(2) 接口定義,如表2所示。
表2 RAM接口定義
雖然用戶設(shè)計的讀寫時鐘分開,但在例化時采用同一個時鐘源,因此不存在差異,例化如下。
U30_temp: dpram256X8
port map(
WD => din,
RD => dreg,
WEN => wea,
REN => enb,
WADDR => addra,
RADDR => addrb_d,
WCLK => clk,
RCLK =>clk) ;
總線控制器驗證過程中采用eRM(e可重用方法學)驗證方法學,使用Cadence公司的驗證工具Specman Elite、NCSim仿真器。在驗證過程中使用SoC中心自研的驗證IP Lsh_uart eVC,此IP已經(jīng)過多款芯片的驗證[2-3]。
2.2.1 群發(fā)遙控指令
從端口uart_in接收串行數(shù)據(jù),檢查指令類型是否正確,輸出指令返回包(串行數(shù)據(jù),輸出端口為FPGA的第一塊的uart_out);對于正確的遙控指令,提取指數(shù)據(jù)區(qū)內(nèi)的數(shù)據(jù)信息,‘1’為開機,‘0’為關(guān)機。指令構(gòu)成,如圖4所示。
圖4 群發(fā)遙控指令結(jié)構(gòu)
2.2.2 單發(fā)遙控指令
端口uart_in接收串行數(shù)據(jù),檢查指令類型是否正確,輸出指令返回包(串行數(shù)據(jù),輸出端口為uart_out)。對于正確的遙控指令,提取指令數(shù)據(jù)區(qū)內(nèi)的數(shù)據(jù)信息,數(shù)據(jù)信息包括單機地址以及開關(guān)機狀態(tài),輸出數(shù)據(jù)區(qū)中的所包含地址的單機開關(guān)機,‘1’為開機,‘0’為關(guān)機[4]。指令構(gòu)成,如圖5所示。
圖5 單發(fā)遙控指令結(jié)構(gòu)
2.2.3 遙測指令
從端口uart_in接收串行數(shù)據(jù),檢查指令類型是否正確,對于正確的遙測指令,采集tmstate0~tmstate39的數(shù)字狀態(tài)量,并且將其組幀到遙測幀中。指令構(gòu)成,如圖6所示。
圖6 遙測指令結(jié)構(gòu)
2.2.4 輔助數(shù)據(jù)指令
從端口uart_in接收串行數(shù)據(jù),檢查指令類型是否正確,輸出指令返回包(串行數(shù)據(jù),輸出端口為uart_out)。對于正確的輔助數(shù)據(jù)指令,提取指令數(shù)據(jù)區(qū)內(nèi)的數(shù)據(jù)信息,數(shù)據(jù)信息包括單機地址以及輔助數(shù)據(jù)內(nèi)容,輸出數(shù)據(jù)區(qū)中的所包含地址的單機傳遞輔助數(shù)據(jù)內(nèi)容(串行數(shù))[5-6]。指令構(gòu)成,如圖7所示。
圖7 輔助數(shù)據(jù)指令結(jié)構(gòu)
加入三模后主要對三模正確性和容錯性進行檢查。
2.3.1 三路clk同時作用的結(jié)果
連續(xù)發(fā)送(指令間隔為500ms)一個群發(fā)遙控指令、一個單發(fā)遙控指令、一個遙測指令、一個輔助數(shù)據(jù)指令,驗證結(jié)果發(fā)現(xiàn)功能正常,如圖8所示。
圖8 三路clk同時作用的結(jié)果仿真圖
2.3.2 關(guān)閉某路clk
關(guān)閉某路clk,發(fā)送一條單發(fā)遙控指令,驗證結(jié)果發(fā)現(xiàn)功能正常。關(guān)閉clk1的波形圖,如圖9所示。
圖9 關(guān)閉某路clk結(jié)果仿真圖
通過總線控制器驗證報告分析表明,在驗證過程中,各功能驗證結(jié)果均符合設(shè)計要求,模塊功能覆蓋率100%,大部分模塊代碼覆蓋率100%,對于個別代碼覆蓋率未達到100%的模塊進行詳細的檢查確認。除此之外,在驗證過程中使用了SoC中心開發(fā)的VIP,大大提高了驗證的可靠性和可信度[7-8]。綜上所述,對于總線控制器驗證充分有效,設(shè)計功能正確。
本文實現(xiàn)了智慧交通系統(tǒng)中總線控制器的ASIC設(shè)計與仿真。首先,確定總線控制器的設(shè)計方案;其次,完成總線控制器ASIC電路設(shè)計;最后,對整體設(shè)計進行仿真驗證。采用ASIC設(shè)計,從外觀來看,整體總線控制器體積更小、集成度高;對于功能來說,比原有總線控制器所控制通信信道數(shù)量增大,可處理信息量增多,可批量生產(chǎn)制造效率提高,同時性能更穩(wěn)定,滿足當前智慧交通需求。經(jīng)測試,基于ASIC技術(shù)的總線控制器在智慧交通系統(tǒng)控制中具有明顯優(yōu)勢。