梁瑞
(西安翻譯學院 工程技術學院, 陜西 西安 710105)
智慧交通系統(Intelligent Traffic System,簡稱ITS)又稱智能運輸系統(Intelligent Transportation System),是將先進的控制和計算機等技術有效地集成運用于整個地面交通管理而建立的綜合交通運輸管理系統。信號燈控制是智慧交通中最基本的環節。由于信號燈控制存在一些問題,例如路口采用“一燈一線”,信號燈多的大型路口,走線繁多雜亂,成本多,施工難度大;在路口改造或增加右轉、人行信號燈組時,需要重新破路頂管或空中飛線。總線控制器是一種新型的交通紅綠燈控制系統,該系統以信息臺和紅綠燈為載體,采集信息臺輸出的紅綠燈信號后,通過總線將信息發送給各個輸出板來驅動對應的紅綠燈。因此,總線控制器能很好地解決交通信號燈出現的以上問題[1]。
目前,總線控制器一般使用FPGA、嵌入式芯片或單片機設計,整體由多個控制盒和多個輸出盒組成,體積大,負載能力弱。ASIC(Application Specific Integrated Circuit)是面向特定用途而專門設計制作的集成電路。本文研究的基于ASIC技術的總線控制器可省去原本多個控制盒的繁瑣結構,可將所有功能集成在一片芯片中,便于批量生產,與原有設計相比具有體積更小、可驅動負載更多、功耗更低、可靠性提高、性能提高、保密性增強和成本降低等優勢。
基于ASIC技術的總線控制器的結構分為2個層次,分別為Top層和Function層。Top層為時鐘結構(CGU),Function層為復位結構(RGU)和存儲器單元,其中存儲器單元包括RAM和FIFO兩個模塊。整體體系結構,如圖1所示。

圖1 整體體系結構
總線控制器電路內部僅有1個源時鐘CLK,主頻20 MHz。該時鐘源經延遲單元后延時2ns后產生3個具有一定相位差的時鐘信號CLK、CLK1和CLK2,它們分別做為三模后各模寄存器的時鐘信號。CGU結構,如圖2所示。

圖2 CGU結構
復位結構原理圖,如圖3所示。

圖3 RGU結構
復位有上電復位Rst_in和軟件復位Rst_pls兩種方式。Rst_in經兩級寄存器同步后做為系統硬復位,實現異步復位機制。Rst_pls經20 ms的濾毛刺后做為系統的軟件復位。為保留軟復位的去毛刺功能,目前采用具有去毛刺功能的三模設計,可實現異步復位、同步撤消機制。
整個設計中有兩塊存儲器:FIFO(32×8 bit)和RAM(32×8 bit)。FIFO實現UART下發數據的緩沖,RAM實現UART接收指令的緩沖。為了提高芯片的抗輻照性能,整個存儲器采用寄存器單元實現兩個存儲器。
1.3.1 FIFO設計
(1) FIFO深度:32×8bit。
(2) 接口定義,如表1所示。

表1 FIFO接口定義
其中WCLOCK和RCLOCK例化時使用同一時鐘信號。
FIFO的作用是緩沖發送數據,當FIFO非空時產生FIFO讀信號,將數據讀出FIFO發至TX模塊,以9 600 bit/s的波特率下發。雖然之前設計的讀寫時鐘分開,但在例化時采用同一個時鐘源,因此不存在差異,例化如下。
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設計
(1) RAM規模:32×8bit。
(2) 接口定義,如表2所示。

表2 RAM接口定義
雖然用戶設計的讀寫時鐘分開,但在例化時采用同一個時鐘源,因此不存在差異,例化如下。
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已經過多款芯片的驗證[2-3]。
2.2.1 群發遙控指令
從端口uart_in接收串行數據,檢查指令類型是否正確,輸出指令返回包(串行數據,輸出端口為FPGA的第一塊的uart_out);對于正確的遙控指令,提取指數據區內的數據信息,‘1’為開機,‘0’為關機。指令構成,如圖4所示。

圖4 群發遙控指令結構
2.2.2 單發遙控指令
端口uart_in接收串行數據,檢查指令類型是否正確,輸出指令返回包(串行數據,輸出端口為uart_out)。對于正確的遙控指令,提取指令數據區內的數據信息,數據信息包括單機地址以及開關機狀態,輸出數據區中的所包含地址的單機開關機,‘1’為開機,‘0’為關機[4]。指令構成,如圖5所示。

圖5 單發遙控指令結構
2.2.3 遙測指令
從端口uart_in接收串行數據,檢查指令類型是否正確,對于正確的遙測指令,采集tmstate0~tmstate39的數字狀態量,并且將其組幀到遙測幀中。指令構成,如圖6所示。

圖6 遙測指令結構
2.2.4 輔助數據指令
從端口uart_in接收串行數據,檢查指令類型是否正確,輸出指令返回包(串行數據,輸出端口為uart_out)。對于正確的輔助數據指令,提取指令數據區內的數據信息,數據信息包括單機地址以及輔助數據內容,輸出數據區中的所包含地址的單機傳遞輔助數據內容(串行數)[5-6]。指令構成,如圖7所示。

圖7 輔助數據指令結構
加入三模后主要對三模正確性和容錯性進行檢查。
2.3.1 三路clk同時作用的結果
連續發送(指令間隔為500ms)一個群發遙控指令、一個單發遙控指令、一個遙測指令、一個輔助數據指令,驗證結果發現功能正常,如圖8所示。

圖8 三路clk同時作用的結果仿真圖
2.3.2 關閉某路clk
關閉某路clk,發送一條單發遙控指令,驗證結果發現功能正常。關閉clk1的波形圖,如圖9所示。

圖9 關閉某路clk結果仿真圖
通過總線控制器驗證報告分析表明,在驗證過程中,各功能驗證結果均符合設計要求,模塊功能覆蓋率100%,大部分模塊代碼覆蓋率100%,對于個別代碼覆蓋率未達到100%的模塊進行詳細的檢查確認。除此之外,在驗證過程中使用了SoC中心開發的VIP,大大提高了驗證的可靠性和可信度[7-8]。綜上所述,對于總線控制器驗證充分有效,設計功能正確。
本文實現了智慧交通系統中總線控制器的ASIC設計與仿真。首先,確定總線控制器的設計方案;其次,完成總線控制器ASIC電路設計;最后,對整體設計進行仿真驗證。采用ASIC設計,從外觀來看,整體總線控制器體積更小、集成度高;對于功能來說,比原有總線控制器所控制通信信道數量增大,可處理信息量增多,可批量生產制造效率提高,同時性能更穩定,滿足當前智慧交通需求。經測試,基于ASIC技術的總線控制器在智慧交通系統控制中具有明顯優勢。