摘" 要: LIN雖然為傳統(tǒng)總線,但仍大量應(yīng)用在汽車、智能家居和工業(yè)控制等領(lǐng)域?;诖耍O(shè)計(jì)一種高可靠LIN控制器IP?;贏MBA APB3.0標(biāo)準(zhǔn)接口的IP不僅實(shí)現(xiàn)了LIN協(xié)議規(guī)定的數(shù)據(jù)收發(fā)、網(wǎng)絡(luò)管理等功能,還增加了大量可靠性和安全性相關(guān)功能,如錯(cuò)誤監(jiān)測(cè)、看門狗、環(huán)回自測(cè)試、顯性電平監(jiān)控等,通過這些可靠性措施使得IP達(dá)到ASIL?B級(jí)技術(shù)指標(biāo)要求。針對(duì)IP搭建仿真驗(yàn)證環(huán)境,完成了SoC級(jí)仿真和FPGA原型驗(yàn)證,并基于國(guó)內(nèi)某流片廠商110 nm工藝,完成了邏輯綜合,生成了Verilog格式的網(wǎng)表文件。通過測(cè)試和邏輯綜合分析得出:所提出的控制器IP性能滿足協(xié)議和設(shè)計(jì)需求,在110 nm三溫三壓極限條件最高頻率可達(dá)625 MHz,邏輯單元約為5 950,等效邏輯門約為10 554,面積為34 676 μm2。該IP功能優(yōu)于對(duì)比文獻(xiàn),可直接集成到微控制器MCU、SoC和FPGA設(shè)計(jì)中,減少設(shè)計(jì)周期和產(chǎn)品上市時(shí)間。
關(guān)鍵詞: LIN總線; 控制器IP; 高可靠性; 安全功能; 邏輯綜合; SoC仿真; FPGA原型驗(yàn)證
中圖分類號(hào): TN402?34" " " " " " " " " " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " "文章編號(hào): 1004?373X(2024)22?0030?07
Design and implementation of highly reliable LIN controller IP
Abstract: LIN (local interconnect network) is a traditional bus, but it is still widely used in automotive, smart home and industrial control fields. On this basis, a highly reliable LIN controller IP is designed. The IP based on the AMBA APB 3.0 standard interface not only implements the data transmission and network management functions specified by the LIN protocol, but also adds a large number of reliability and security related functions, such as error monitoring, watchdog, loop back self testing, explicit level monitoring, etc. The IP can meet the ASIL?B level technical specifications requirements after these reliability measures. The simulation verification environment for IP is built to complete SoC level simulation and FPGA prototype verification, and the logic synthesis is completed based on a domestic chip manufacturer's 110 nm process, and the Verilog format netlist files are generated. fter testing and comprehensive logic analysis, it is concluded that the proposed controller IP performance meets the protocol and design requirements. Under the 110 nm three temperature and three pressure limit condition, the highest frequency can reach 625 MHz, the logic unit is about 5 950, the equivalent logic gate is about 10 554, and the area is 34 676 μm2. This IP has better functionality than the comparative literature and can be directly integrated into microcontroller MCU, SoC, and FPGA designs, reducing design cycles and product launch time.
Keywords: LIN bus; controller IP; high reliability; safety function; logical synthesis; SoC simulation; FPGA prototype verification
0" 引" 言
LIN(Local Interconnect Network)作為低速串行總線,是汽車分布式控制系統(tǒng)中車載網(wǎng)絡(luò)的重要組成部分。傳統(tǒng)上,LIN總線作為CAN(Controller Area Network)總線網(wǎng)絡(luò)的補(bǔ)充,廣泛應(yīng)用于車身低速的電子控制單元(Electronic Control Unit, ECU)[1?4]。但隨著研究深入,LIN擴(kuò)展到車載CO2檢測(cè)[5]、車載電子鐘控制[6]、倒車?yán)走_(dá)系統(tǒng)[7]、發(fā)電機(jī)[8]等其他功能單元,LIN控發(fā)電機(jī)更是進(jìn)入國(guó)家發(fā)展改革委公布《產(chǎn)業(yè)結(jié)構(gòu)調(diào)整指導(dǎo)目錄(2024年本)》的鼓勵(lì)類目錄[9]。同時(shí)隨著物聯(lián)網(wǎng)技術(shù)快速發(fā)展,LIN逐步拓展到智能家居[10?11]、工業(yè)控制[12?13]等領(lǐng)域。因此,對(duì)LIN總線的研究和實(shí)現(xiàn)仍具有重要意義。
由于LIN數(shù)據(jù)格式和UART類似,有UART優(yōu)化當(dāng)成LIN使用的實(shí)例[14],但該方式對(duì)使用有諸多限制,不是完全意義的LIN控制器。
本文根據(jù)LIN2.2A協(xié)議[15]和應(yīng)用需求,設(shè)計(jì)了一款功能完整、高可靠性LIN控制器IP。對(duì)比文獻(xiàn)[16],本文IP有如下特點(diǎn):
1) 具有AMBA總線APB3.0標(biāo)準(zhǔn)接口,便于IP復(fù)用和SoC系統(tǒng)集成;
2) 除實(shí)現(xiàn)LIN2.2A協(xié)議規(guī)定功能,還增加了大量可靠性和安全相關(guān)功能,達(dá)到ASIL?B級(jí)技術(shù)指標(biāo)要求;
3) 完成邏輯綜合,生成了網(wǎng)表文件,可提供軟核、固核兩種IP形式。
1" IP技術(shù)特征
本文IP基于APB3.0接口,兼容LIN2.2A協(xié)議功能,設(shè)計(jì)了可靠性和安全性相關(guān)功能。具體性能指標(biāo)如下:
1) 兼容LIN2.2A和LIN1.3協(xié)議;
2) 傳輸速率為1~20 Kb/s;
3) 支持主從節(jié)點(diǎn)任務(wù)功能;
4) 從節(jié)點(diǎn)支持自動(dòng)精度同步和位速率檢測(cè);
5) 支持休眠和喚醒檢測(cè)功能;
6) 支持超時(shí)檢測(cè)功能;
7) 主節(jié)點(diǎn)支持頭部發(fā)送延遲功能;
8) 支持操作中止功能;
9) 支持多種錯(cuò)誤監(jiān)控功能;
10) 支持中斷控制和中斷自測(cè)試功能;
11) 支持安全看門狗功能;
12) 支持環(huán)回自測(cè)試功能;
13) 支持發(fā)送顯性電平監(jiān)控功能;
14) 接收輸入數(shù)據(jù)濾波脈沖寬度可配置;
15) 達(dá)到ASIL?B級(jí)技術(shù)指標(biāo)要求;
16) 提供軟核和固核兩種IP形式。
該LIN控制器IP功能完備且經(jīng)過SoC仿真和FPGA原型驗(yàn)證,功能正確,可靠性高,可直接集成到汽車電子、智能家居和工業(yè)控制用微控制器MCU、SoC和FPGA中。
2" IP架構(gòu)功能設(shè)計(jì)
LIN協(xié)議規(guī)定數(shù)據(jù)幀格式見圖1,包括幀頭和幀響應(yīng)。其中:幀頭由同步間隔域、同步域和保護(hù)ID域組成;幀響應(yīng)由0~8 B數(shù)據(jù)域、校驗(yàn)和域組成。同步間隔域?yàn)橹辽?3個(gè)顯性電平,同步域固定為0x55。幀頭由主節(jié)點(diǎn)的主機(jī)任務(wù)發(fā)出,幀響應(yīng)由主節(jié)點(diǎn)或從節(jié)點(diǎn)的從機(jī)任務(wù)發(fā)出。
2.1" IP架構(gòu)設(shè)計(jì)
結(jié)合LIN2.2A協(xié)議規(guī)定,LIN控制器IP采用自頂向下的設(shè)計(jì)方法,功能上劃分為寄存器讀寫控制單元、數(shù)據(jù)幀收發(fā)控制單元、波特率和位速率管理單元、錯(cuò)誤和中斷管理單元、網(wǎng)絡(luò)管理單元、安全管理單元等。IP接口關(guān)鍵信號(hào)有:接收數(shù)據(jù)(RXD)、發(fā)送數(shù)據(jù)(TXD);系統(tǒng)時(shí)鐘(sys_clk)、安全功能工作時(shí)鐘(safety_clk)、低功耗時(shí)鐘(lp_clk);喚醒指示信號(hào)(lin_wakeup)、IP使能信號(hào)(ip_enable)、中斷請(qǐng)求信號(hào)(lin_irq)、APB接口信號(hào)等。LIN控制器IP功能結(jié)構(gòu)圖如圖2所示。
寄存器讀寫控制單元根據(jù)APB3.0接口命令完成功能寄存器讀和寫操作,控制器IP定義了28個(gè)功能寄存器,包括波特率配置寄存器、數(shù)據(jù)寄存器、命令寄存器(包括操作類型、字節(jié)長(zhǎng)度、操作起始等)、PID寄存器、操作狀態(tài)寄存器、錯(cuò)誤狀態(tài)寄存器、總線狀態(tài)寄存器、中斷使能寄存器等。數(shù)據(jù)幀收發(fā)控制單元包括核心狀態(tài)機(jī)、收發(fā)狀態(tài)機(jī)、控制邏輯等,實(shí)現(xiàn)了串并移位轉(zhuǎn)換、幀接收和發(fā)送、保護(hù)ID域奇偶校驗(yàn)生成及驗(yàn)證、校驗(yàn)和域生成及驗(yàn)證、接收數(shù)據(jù)同步和濾波、錯(cuò)誤監(jiān)控、頭部延遲等功能,是IP核心單元。波特率和位速率管理單元實(shí)現(xiàn)數(shù)據(jù)脈沖信號(hào)產(chǎn)生、從節(jié)點(diǎn)自動(dòng)精度同步和位速率檢測(cè)功能。安全管理單元實(shí)現(xiàn)了看門狗、顯性電平發(fā)送監(jiān)控、環(huán)回自測(cè)試等功能。超時(shí)檢測(cè)單元實(shí)現(xiàn)了主從節(jié)點(diǎn)檢測(cè)頭部或全幀是否超時(shí)。網(wǎng)絡(luò)管理單元實(shí)現(xiàn)休眠和喚醒檢測(cè)功能。錯(cuò)誤和中斷控制單元是根據(jù)內(nèi)部狀態(tài)產(chǎn)生中斷請(qǐng)求信號(hào)(lin_irq)和中斷自測(cè)試功能。
2.2" 幀收發(fā)控制功能設(shè)計(jì)
主從節(jié)點(diǎn)的幀收發(fā)控制功能通過核心狀態(tài)機(jī)和收發(fā)狀態(tài)機(jī)完成。核心狀態(tài)機(jī)(main_state)有:idle(0)、send_break(1)、send_sync(2)、head_delay(3)、send_pid(4)、send_data(5)、rece_data(6)、error(7)、sync_det(8)、pid_det(9)、send_wakeup(10)共11種工作狀態(tài)。
IP復(fù)位為idle狀態(tài)。主節(jié)點(diǎn)發(fā)送頭部流程如下:
idle?gt;send_break?gt;send_sync?gt;send_pid?gt;idle,如果頭部發(fā)送有延遲,則在send_break前增加head_delay狀態(tài);主節(jié)點(diǎn)發(fā)送喚醒幀流程為idle?gt;send_wakeup?gt;idle;主從節(jié)點(diǎn)發(fā)送響應(yīng)流程為idle?gt;send_data?gt;idle;主從節(jié)點(diǎn)接收響應(yīng)流程為idle?gt;rece_data?gt;idle;從節(jié)點(diǎn)接收頭部流程為idle?gt;sync_det?gt;pid_det?gt;idle。核心狀態(tài)機(jī)頭部和響應(yīng)狀態(tài)轉(zhuǎn)移圖如圖3所示。頭部延遲時(shí)間是由系統(tǒng)時(shí)鐘(sys_clk)驅(qū)動(dòng)的24位遞減計(jì)數(shù)器實(shí)現(xiàn),遞減初始值寄存器可配置。寫命令寄存器后開始計(jì)時(shí),計(jì)數(shù)下溢執(zhí)行send_break操作。
LIN協(xié)議規(guī)定除同步間隔域外其他域數(shù)據(jù)格式為開始位、數(shù)據(jù)位和停止位。本文設(shè)計(jì)發(fā)送狀態(tài)機(jī)(txstate)和接收狀態(tài)機(jī)(rxstate)。其中:txstate有idle(0)、start(1)、data_tx(2)、stop(3)狀態(tài);rxstate有idle(0)、start(1)、data_rx(2)、stop(3)狀態(tài)。txstate狀態(tài)轉(zhuǎn)移圖見圖4,接收機(jī)類似。
IP實(shí)現(xiàn)時(shí)所有數(shù)據(jù)域收發(fā)均按圖4工作。本文IP同步間隔域?yàn)?個(gè)開始位和13個(gè)數(shù)據(jù)位共14個(gè)顯性電平,滿足≥13個(gè)顯性電平的協(xié)議規(guī)定。任何狀態(tài)檢測(cè)到錯(cuò)誤或異常時(shí),設(shè)置錯(cuò)誤狀態(tài)寄存器和設(shè)置lin_irq,然后核心狀態(tài)機(jī)從當(dāng)前狀態(tài)跳轉(zhuǎn)到error狀態(tài),待SoC系統(tǒng)或用戶讀取錯(cuò)誤狀態(tài)寄存器獲取錯(cuò)誤信息后自動(dòng)跳轉(zhuǎn)到idle狀態(tài)。
核心狀態(tài)機(jī)錯(cuò)誤狀態(tài)轉(zhuǎn)移圖如圖5所示。
IP設(shè)計(jì)了由系統(tǒng)時(shí)鐘(sys_clk)驅(qū)動(dòng)的15位遞減計(jì)數(shù)器來(lái)產(chǎn)生期望波特率,計(jì)數(shù)下溢時(shí)產(chǎn)生時(shí)標(biāo)脈沖,重載分頻值計(jì)數(shù),連續(xù)產(chǎn)生16個(gè)時(shí)標(biāo)脈沖后產(chǎn)生1個(gè)數(shù)據(jù)脈沖,在數(shù)據(jù)脈沖有效時(shí)發(fā)送或采樣數(shù)據(jù)。緩存FIFO用于臨時(shí)存儲(chǔ)接收或發(fā)送響應(yīng),可存儲(chǔ)校驗(yàn)和域,深度為9個(gè),寬度為1 B。實(shí)現(xiàn)IP操作流程如下。
1) 完成IP使能開啟時(shí)鐘、寫波特率配置寄存器、中斷使能寄存器、配置進(jìn)入主或從任務(wù)模式等初始化操作。
2) 寫PID寄存器準(zhǔn)備保護(hù)ID域(主節(jié)點(diǎn)發(fā)送頭部)或?qū)憯?shù)據(jù)寄存器準(zhǔn)備響應(yīng)數(shù)據(jù)(主從節(jié)點(diǎn)發(fā)送響應(yīng))后,寫命令寄存器開啟發(fā)送操作,或直接寫命令寄存器開啟接收操作(主節(jié)點(diǎn)接收響應(yīng)、從節(jié)點(diǎn)接收頭部和響應(yīng))。
3) 等待中斷觸發(fā),觸發(fā)后讀錯(cuò)誤狀態(tài)寄存器和操作狀態(tài)寄存器。
4) 判定如果是錯(cuò)誤觸發(fā)中斷,完成錯(cuò)誤處理后返回初始狀態(tài);如果是操作完成,對(duì)于接收操作,讀數(shù)據(jù)寄存器獲取響應(yīng)數(shù)據(jù)或讀PID寄存器獲取保護(hù)ID域后返回初始狀態(tài),對(duì)于發(fā)送操作則直接返回初始狀態(tài)。
5) 當(dāng)前操作完成可以開啟新的操作。從節(jié)點(diǎn)完成頭部接收后需用戶根據(jù)PID域值判斷是啟動(dòng)發(fā)送/接收響應(yīng)或空操作。主節(jié)點(diǎn)發(fā)送M(1≤M≤8)響應(yīng)流程如圖6所示,從節(jié)點(diǎn)接收N(1≤N≤8)響應(yīng)流程如圖7所示,其他操作流程類似,M、N單位為B。
2.3" 協(xié)議相關(guān)功能設(shè)計(jì)
協(xié)議規(guī)定從節(jié)點(diǎn)接收同步間隔域和同步域精度小于14%,其他精度小于1.5%。為保證從節(jié)點(diǎn)與主節(jié)點(diǎn)波特率同步,IP從節(jié)點(diǎn)支持自動(dòng)精度同步和位速率檢測(cè)。寫寄存器使能自動(dòng)精度同步后,從節(jié)點(diǎn)根據(jù)接收的同步域?qū)崟r(shí)計(jì)算主節(jié)點(diǎn)波特率,在小于14%或小于1.5%范圍,IP自動(dòng)寫波特率配置寄存器,超出范圍設(shè)置錯(cuò)誤狀態(tài)寄存器的同步錯(cuò)誤位和設(shè)置lin_irq。位速率檢測(cè)是寫命令寄存器后,利用同步域計(jì)算波特率后IP自動(dòng)寫波特率配置寄存器。計(jì)算原理為:選擇同步域第1~5個(gè)下降沿時(shí)間段,以時(shí)標(biāo)脈沖為統(tǒng)計(jì)單位,共8個(gè)數(shù)據(jù)位、128個(gè)時(shí)標(biāo)脈沖,小于1.5%計(jì)數(shù)值范圍為[126,129],小于14%范圍為[110,145]。
LIN協(xié)議規(guī)定全幀傳輸時(shí)間不能超過有效數(shù)據(jù)時(shí)間的1.4倍。本文IP支持3種超時(shí)檢測(cè):
1) 主節(jié)點(diǎn)接收響應(yīng)檢測(cè)全幀是否超時(shí);
2) 從節(jié)點(diǎn)接收頭部檢測(cè)是否超時(shí);
3) 從節(jié)點(diǎn)接收響應(yīng)檢測(cè)全幀是否超時(shí)。
超時(shí)發(fā)生將設(shè)置錯(cuò)誤狀態(tài)寄存器的超時(shí)錯(cuò)誤位和設(shè)置lin_irq。本文實(shí)現(xiàn)原理與文獻(xiàn)[16]類似。
LIN協(xié)議規(guī)定支持休眠和喚醒功能。本文IP主從節(jié)點(diǎn)支持的休眠功能如表1所示。
檢測(cè)到休眠有效設(shè)置總線狀態(tài)寄存器的休眠檢測(cè)位和設(shè)置lin_irq,通過中斷告知檢測(cè)到休眠,IP和SoC系統(tǒng)是否進(jìn)入休眠狀態(tài)由SoC或用戶確定。
IP主從節(jié)點(diǎn)支持的喚醒功能如表2所示。
檢測(cè)到喚醒有效,將設(shè)置總線狀態(tài)寄存器的喚醒檢測(cè)位,設(shè)置lin_wakeup和lin_irq。lin_wakeup用于啟動(dòng)SoC系統(tǒng)喚醒。根據(jù)LIN協(xié)議要求,從節(jié)點(diǎn)發(fā)送喚醒信號(hào)后立即啟動(dòng)喚醒應(yīng)答計(jì)時(shí)器,如果規(guī)定時(shí)間未收到主節(jié)點(diǎn)的反饋幀,設(shè)置錯(cuò)誤狀態(tài)寄存器的喚醒錯(cuò)誤和設(shè)置lin_irq。協(xié)議規(guī)定反饋等待時(shí)間范圍為150~250 ms,可寄存器配置??刂破鱅P實(shí)現(xiàn)了系統(tǒng)時(shí)鐘(sys_clk)和低功耗時(shí)鐘(lp_clk)(默認(rèn)不關(guān)閉)兩種時(shí)鐘的喚醒檢測(cè),可通過寄存器配置選擇。lp_clk頻率為1 kHz或更小,用于休眠狀態(tài)下sys_clk關(guān)閉應(yīng)用場(chǎng)景。
2.4" 可靠性和安全功能設(shè)計(jì)
為確保IP能適應(yīng)各種復(fù)雜嚴(yán)苛的應(yīng)用環(huán)境,本文實(shí)現(xiàn)了大量可靠性和安全管理相關(guān)功能。這些功能提供了3種可靠性機(jī)制。
1) 增加冗余容錯(cuò)保護(hù)機(jī)制,提前阻止錯(cuò)誤發(fā)生。
2) 出現(xiàn)錯(cuò)誤時(shí)由錯(cuò)誤或總線狀態(tài)寄存器記錄狀態(tài),設(shè)置lin_irq告知SoC,由SoC系統(tǒng)或用戶對(duì)錯(cuò)誤進(jìn)行處理。
3) 發(fā)生嚴(yán)重錯(cuò)誤時(shí),除了記錄錯(cuò)誤觸發(fā)中斷外,還在IP內(nèi)部產(chǎn)生復(fù)位信號(hào)自動(dòng)對(duì)IP進(jìn)行復(fù)位(自動(dòng)復(fù)位功能可配置是否使能),使IP及時(shí)恢復(fù)到安全狀態(tài),阻止異常狀態(tài)持續(xù)。具體可靠性和安全管理功能見表3。
數(shù)據(jù)發(fā)送監(jiān)控效果圖如圖8所示。環(huán)回自測(cè)試功能效果圖如圖9所示。
綜上,本文實(shí)現(xiàn)5種容錯(cuò)機(jī)制、11種錯(cuò)誤檢測(cè)監(jiān)控功能,支持2種時(shí)鐘喚醒、自動(dòng)復(fù)位、監(jiān)控SoC系統(tǒng)等功能。根據(jù)ISO 26262?5:2018及相關(guān)章節(jié)要求,計(jì)算得出IP單點(diǎn)故障指標(biāo)(SPFM)≥90%,潛在故障指標(biāo)(LFM)≥60%,硬件隨機(jī)故障概率指標(biāo)(PMHF)lt;100 FIT,達(dá)到ASIL B級(jí)技術(shù)指標(biāo)要求。
3" 測(cè)試和邏輯綜合
3.1" SoC仿真和FPGA原型驗(yàn)證
IP采用Verilog語(yǔ)言完成RTL編碼后,搭建了基于ARM Cortex?M0處理器核的SoC功能仿真系統(tǒng)和FPGA原型驗(yàn)證環(huán)境。SoC功能驗(yàn)證系統(tǒng)結(jié)構(gòu)圖如圖10所示,包括處理器核、eFLASH存儲(chǔ)和控制、SRAM存儲(chǔ)和控制、總線、時(shí)鐘復(fù)位單元、待測(cè)IP、LIN收發(fā)器模型、激勵(lì)產(chǎn)生模塊等。基于Cadence的NC?SIM平臺(tái)完成編譯和仿真,所有仿真命令集成到Makefile腳本文件中。
LIN作為通信總線,構(gòu)建了2套FPGA驗(yàn)證環(huán)境:一是IP與標(biāo)準(zhǔn)件通信測(cè)試;二是2個(gè)LIN IP搭建的主從節(jié)點(diǎn)通信測(cè)試。FPGA板級(jí)測(cè)試平臺(tái)示意圖如圖11所示,包括硬件和軟件兩部分,硬件主要有圖莫斯UTA0503型USB轉(zhuǎn)LIN適配器、配備XILINX XC7A200T?2FBG484I型FPGA芯片的核心開發(fā)板、配備Philips TJA1020型LIN收發(fā)器電路的驗(yàn)證板、Keil下載器、JTAG下載器、綜合和調(diào)試用PC機(jī)等;軟件包括XILINX 2017.4版Vivado綜合工具、v5.38版Keil μVision5集成開發(fā)環(huán)境、v2.3版TCANLINPro激勵(lì)平臺(tái)和驅(qū)動(dòng)軟件等。環(huán)境二是在圖11基礎(chǔ)上將UTA0503適配器替換為核心開發(fā)板和驗(yàn)證板,即2套FPGA驗(yàn)證板同時(shí)燒寫程序,一主一從進(jìn)行數(shù)據(jù)傳輸驗(yàn)證。
依據(jù)SoC仿真平臺(tái)和FPGA驗(yàn)證環(huán)境,按照設(shè)計(jì)流程對(duì)數(shù)據(jù)收發(fā)進(jìn)行了測(cè)試且功能正確。以主節(jié)點(diǎn)SoC仿真帶延遲的發(fā)送頭部為例進(jìn)行描述,SoC仿真頭部發(fā)送延遲圖如圖12所示。
TimeA時(shí)刻(command_wr信號(hào)有效)表示寫發(fā)送頭部命令,TimeA→TimeB為延遲時(shí)間,TimeB→TimeC為發(fā)送同步間隔域,TimeC→TimeD為發(fā)送同步域,TimeD→TimeE為發(fā)送PID域。FPGA驗(yàn)證以主節(jié)點(diǎn)發(fā)送休眠幀為例進(jìn)行描述,波形如圖13所示。休眠幀格式PID為0x3C,1個(gè)0x00和7個(gè)0xFF,校驗(yàn)和域?yàn)?x00,從波形得出發(fā)送與預(yù)期一致。
完成收發(fā)功能后,對(duì)可靠性和安全管理功能進(jìn)行了仿真驗(yàn)證。由于TCANLINPro軟件平臺(tái)具有無(wú)錯(cuò)誤注入功能,對(duì)PID域奇偶校驗(yàn)、校驗(yàn)和域校驗(yàn)、停止位判斷、發(fā)送顯性電平監(jiān)控采用了IP自帶的錯(cuò)誤注入方式完成測(cè)試。將錯(cuò)誤注入的PID域、校驗(yàn)和域?qū)懭隖IFO進(jìn)行發(fā)送,接收端將收到錯(cuò)誤幀。連續(xù)發(fā)送2 B 0x0,發(fā)送端可監(jiān)控到大于14或9的顯性電平,接收端停止位不是隱形電平。以SoC仿真從節(jié)點(diǎn)接收頭部,然后發(fā)送超過9個(gè)顯性電平的錯(cuò)誤響應(yīng),自動(dòng)對(duì)IP復(fù)位為例進(jìn)行仿真描述,波形如圖14、圖15所示。
圖14中:TimeA→TimeB為從節(jié)點(diǎn)接收同步域;TimeB→TimeC為接收PID;TimeC→TimeD為根據(jù)PID判斷為發(fā)送響應(yīng)將響應(yīng)寫入FIFO;TimeE→TimeF為發(fā)送響應(yīng),仿真設(shè)定發(fā)送2 B 0x0,故該階段出現(xiàn)發(fā)送顯性電平超過規(guī)定值錯(cuò)誤。圖15中:在TimeA時(shí)刻txstate為stop,txdo不是1而變成0,發(fā)送顯性電平數(shù)大于9;TimeB時(shí)刻復(fù)位信號(hào)(sm_rst_s)有效,中斷請(qǐng)求信號(hào)(lin_irq)有效,下個(gè)時(shí)鐘沿主狀態(tài)機(jī)(main_state)跳轉(zhuǎn)到idle狀態(tài)值為0。
本文IP與文獻(xiàn)[16]IP在實(shí)現(xiàn)功能和FPGA綜合資源占用比較如表4所示。比較得出:在邏輯單元占用不多的情況下,本文IP實(shí)現(xiàn)了更多功能,如休眠、喚醒、可靠性和安全等。
3.2" 邏輯綜合實(shí)現(xiàn)
完成測(cè)試后,選擇國(guó)內(nèi)某流片廠商110 nm eFLASH、核電壓1.5 V低功耗工藝平臺(tái)完成了IP邏輯綜合實(shí)現(xiàn)。結(jié)合PVT極限條件,選擇(FAST、-40 ℃、1.65 V)為Best Case,(SLOW、125 ℃、1.35 V)為Worst Case,綜合后生成了Verilog格式網(wǎng)表文件。IP主要參數(shù)如表5所示。
4" 結(jié)" 論
本文結(jié)合市場(chǎng)需求設(shè)計(jì)了一款LIN總線控制器IP。該IP除實(shí)現(xiàn)LIN2.2A協(xié)議規(guī)定的數(shù)據(jù)收發(fā)和網(wǎng)絡(luò)管理功能外,還增加了可靠性和安全管理相關(guān)功能,達(dá)到ASIL B級(jí)技術(shù)指標(biāo)要求。針對(duì)IP搭建仿真驗(yàn)證環(huán)境,完成了SoC級(jí)仿真和FPGA原型驗(yàn)證,測(cè)試表明功能正確。選取國(guó)內(nèi)110 nm工藝完成了邏輯綜合,生成了Verilog格式網(wǎng)表文件,可交付軟核和固核兩種IP形式。相比其他LIN控制器IP,所設(shè)計(jì)IP具備標(biāo)準(zhǔn)總線接口,功能完備且可靠性更高,交付方式靈活,工程適用性更強(qiáng),可直接集成到SoC或FPGA設(shè)計(jì)中。
參考文獻(xiàn)
[1] 明顯誠(chéng),許博.基于LIN總線的汽車室內(nèi)照明智能調(diào)控系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2019,42(14):161?164.
[2] 劉晨曦.基于LIN通信汽車車窗開關(guān)的設(shè)計(jì)與研發(fā)[D].長(zhǎng)春:吉林大學(xué),2021.
[3] 吳成加.基于LIN總線的雨量燈光控制系統(tǒng)設(shè)計(jì)及應(yīng)用[J].客車技術(shù)與研究,2020,42(2):45?47.
[4] 王鵬,韓躍平,文洪奎,等.基于PSoC和LIN總線的汽車腳踢控制器設(shè)計(jì)[J].自動(dòng)化與儀表,2019,34(11):23?27.
[5] 趙韋靜,陳博,王瑞濤,等.基于LIN總線的車載CO2檢測(cè)模塊的設(shè)計(jì)[J].北京汽車,2017(6):27?29.
[6] 楊琴,黃正午,覃川,等.基于LIN總線的車載電子鐘控制系統(tǒng)設(shè)計(jì)與研發(fā)[J].時(shí)代汽車,2022(3):116?118.
[7] 李曉燕,劉宗健,蔣云峰.基于LIN總線的倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新導(dǎo)報(bào),2018,15(24):65?66.
[8] 李珊珊,高峰,王雅南,等.LIN總線技術(shù)在汽車發(fā)電機(jī)電壓調(diào)節(jié)系統(tǒng)中的應(yīng)用[J].內(nèi)燃機(jī),2023,39(3):58?62.
[9] 國(guó)家發(fā)展改革委.產(chǎn)業(yè)結(jié)構(gòu)調(diào)整指導(dǎo)目錄(2024年本)[EB/OL].[2023?12?27].https://www.ndrc.gov.cn/xxgk/zcfb/fzggwl/202312/t20231229_1362999.html.
[10] 馮志榮,王紅梅.基于LIN總線的語(yǔ)音控制智能家居系統(tǒng)[J].現(xiàn)代電子技術(shù),2015,38(10):28?31.
[11] 朱海洋.基于C8051F530A單片機(jī)的LIN總線樓宇開關(guān)節(jié)點(diǎn)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2021(11):104?106.
[12] 林飛.基于LIN總線的采煤機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].機(jī)械管理開發(fā),2021,36(7):275?277.
[13] 喬雨恒,張紅娟,王宇,等.基于LIN總線的礦用超聲測(cè)距系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2019(8):74?78.
[14] 張峻豪,馬德,朱曉雷.一種基于UART模塊兼容多協(xié)議的通信接口:CN117395089A[P].2024?01?12.
[15] 國(guó)際汽車工程師學(xué)會(huì).LIN Specification Package Revision 2.2A [EB/OL].[2010?12?31]. https://www.lin?cia.org/en/standards/.
[16] 李振魏.基于FPGA的LIN總線控制器設(shè)計(jì)與驗(yàn)證[D].西安:西安電子科技大學(xué),2018.