新聞中心

        EEPW首頁 > 汽車電子 > 設計應用 > Andes D1088 在汽車ADAS之應用

        Andes D1088 在汽車ADAS之應用

        作者: 時間:2016-12-16 來源: 收藏

        高級駕駛輔助系統(Advanced Driver Assistance Systems;ADAS)為現今IT產業發展的重要方向,是將來可以達到無人駕駛智能車輛的技術高級過程。ADAS的主要功能并不是控制,而是為駕駛人提供車內的工作情況與車外環境變化等相關信息進行分析,預先警告可能的危險狀況,讓駕駛人提早采取應對措施,避免交通意外發生。科技的產品 D1088具備數字信號處理器(digital signal processor,DSP)指令,除了一般CPU指令外還多了SIMD instructions來加速ADAS算法的計算,增加ADAS產品的性能,也因此獲得客戶的認同使用科技D1088開發ADAS產品。使用D1088開發的ADAS產品包括盲點偵測(Blind-Spot Detection, BSD),前車碰撞警示(Forward-Collision Warning, FCW),車道偏移警示(Lane-Departure Warning, LDW),運動目標偵測(Motion-Object Detection, MOD),倒車碰撞警示(Rear-Collision Warning, RCW),行人碰撞警示(Pedestrian-Collision Warning, PCW)及行車紀錄器。

        本文引用地址:http://www.104case.com/article/201612/341704.htm

        車用電子須通過AEC-Q100(Automotive Electronics Council - Failure Mechanism Based Stress Test Qualification For Integrated Circuits)的認證,要求有別于一般消費性電子產品,本文的目的除了告訴我們的客戶(IC設計業者)D1088的優勢,也與我們的客戶一起探討車用電子與消費性電子產品間的差異。希望在車用電子領域,科技與我們的客戶攜手同行從今日開發ADAS芯片到未來的無人車自動駕駛。

        1. D1088應用于ADAS的優勢

        生活環境中都是模擬信號,聲音是模擬信號,圖像是模擬新號,碰撞的壓力值還是模擬信號,在行進中,傳感器將量測數值傳送進ADAS控制器,經過ADC轉換后得到數字訊號﹐車內外環境中充滿了干擾與噪聲,濾波器可以濾掉噪聲與干擾,大大提升訊號正確性與可靠度,還原事物的原貌。文中以數字濾波器 FIR (Finite Impulse Response)為例,比較使用一般CPU指令與D1088提供的DSP指令在運算FIR時的差異,說明D1088的優勢與特性。

        1.1 使用Fir_q15 函數驗證

        以ADAS 中車道偏移警示系統會用到的FIR 數字濾波器,使用Fir_q15[1] 函數C語言實作如下所示:

        void nds32_fir_q15(const nds32_fir_q15_t *instance,q15_t *src, q15_t *dst, uint32_t size)

        此FIR 數字濾波器函數,其中函數的輸入參數:*instance此是指向FIR 結構體的指針,數字濾波器參數特性定義在此。輸入*src 與輸出*dst是以Q15的數據格式來表征,size 是此函數一次處理的抽樣個數,本實驗的抽樣個數是1024。

        在使用此函數時,設計兩種定義,一種是全部使用Andes baseline 指令,另一種使用DSP指令,D1088除了具備一般CPU功能外,增加超過130 條DSP 相關指令。在此函數中除了運用DSP 矩陣指令外也使用了DSP中的saturation 運算,當數字信號運算后產生overflow或underflow時,沒有使用saturation 運算會產生錯誤且離譜的結果,Andes saturation指令可以大大提升效能。

        在Fir_q15函數在D1088上做驗證函數的抽樣個數為1024,在全部使用baseline 指令運算所得的cycle數除以取樣數目1024得到每一個DSP信號所需要的cycle數是210,如果使用DSP指令,處理每一筆DSP信號只需要的是41 cycles。從Fir_q15 函數運算結果得知DSP 指令對比 baseline指令運算性能提升5.12倍。

        1.2 DSP Benchmark 數值

        下圖[2]是依各類測試基準得到D1088與 Baseline CPU的benchmark 數據,總體benchmark的平均值D1088/N1068有64%的性能提升

        圖1. DSP Library 性能圖

        2. 車用電子產品需要通過的認證

        近幾年隨著汽車市場逐步走向車聯網、電動汽車領域,需要更多駕駛信息輔助整合系統,也讓IC設計業者找到一個好的發展方向與新的產品市場。很明顯,車用電子要求有別于一般消費性產品,分別在產品的壽命,溫度的范圍,可靠度等級與安全性的要求等皆遠高于消費性電子產品,車用電子需要經過ISO 26262與AEC-Q100認證。晶心科技是CPU IP 的供貨商,提供CPU IP給IC設計業者。從AEC-Q100的驗證流程中,了解IC設計業在車用電子所在的角色,也可以得知CPU與IC設計業者在車用電子中的位置與關系。

        2.1 車用IC規范AEC-Q100驗證流程

        圖2為AEC-Q100規范中的驗證流程[3],此圖是以Die Design→Wafer Fab.→PKG Assembly→Testing的制造流程來繪制,各模塊的關聯性須要參考圖中的箭頭符號,本文重點著重在IC設計業者(Design House),所以僅標示AEC-Q100中Design House與 Design Verification 相關測試項目。

        圖2. AEC-Q100驗證流程

        2.2 IC設計業者進行AEC-Q100驗證

        在AEC-Q100建議中,IC設計業者需要依據IC芯片在汽車中使用位置區分為引擎區與乘坐區兩部份,其基本工作環境要求不同,故對于測試溫度,可靠度,安全性的建議規格也不同。由于IC芯片種類繁多,因此在試驗條件上,AEC-Q100已進行分門別類,亦即依照屬性設定建議的試驗條件,當IC芯片設計測試規范訂定后依據圖2 AEC-Q100驗證流程圖,IC設計業者需完成紅框的驗證項目,當Wafer Foundry也通過需做測項后,AEC-Q100驗證項目都完成后,就可說此IC芯片完成AEC-Q100的驗證。

        3. 車用電子產品需要通過的認證

         除了ADAS本身須具備的功能需通過AEC-Q100認證外,也需有額外設計才能符合在汽車的應用環境下的需求,下列幾個舉例說明在車用ADAS中增加的設計,有別于一般消費性電子產品。

        3.1 CRC checksum 安全驗證

         在車用ADAS設計實例中,考慮到汽車環境中干擾嚴重且需要高可靠度。ADAS程序在刻錄進ADAS 產品的NOR-Flash時,將欲刻錄程序經由CRC32-CCIR演算后得到32bits結果一并寫在NOR-Flash上。在車上當ADAS產品開機后,NOR-Flash 上的程序搬到RAM后,在RAM的程序也一樣經過CRC32-CCIR演算后得到的結果與程序后面32bit checksum演算結果做比對,如果RAM端與NOR-Flash數值一致表示通過CRC checksum 安全驗證,如果數值不一致代表RAM上的程序在過程中被干擾須采取對應的措施。增加CRC checksum 安全驗證可以知道車用ADAS對安全與可靠度要求遠高于一般消費性電子產品。

        3.2 程序啟動前先行驗證 CPU 周邊

         有別于一般消費性產品,車用電子產品在程序啟動前需驗證CPU周邊device本身之正確性,以ADAS實例來說明需要驗證cache與RAM。在ADAS程序執行前,提供晶心科技自定義指令集CCTL (Cache Control)指令做cache的驗證。將CCTL指令以intrinsic 函數方式(如下所示)[4]提供給客戶使用: 

        Unsigned int __nds32__cctlidx_read (const enum nds32_cctl_idxread subtype, unsigned int idx) 

        void __nds32__cctlidx_write (const enum nds32_cctl_idxwrite subtype, unsigned int b, unsigned int idxw) 

         開發ADAS客戶使用晶心科技提供__nds32__cctlidx_write 函數寫入 再用__nds32__cctlidx_read 函數讀出來驗證整個cache device。

         RAM在使用前也需要做RAM device的驗證,進行RAM device 驗證需要驗證程序結合RAM 測試pattern。晶心科技使用程序編寫的技巧提供ADAS開發業者不需要用到RAM的驗證程序結合ADAS開發業者使用March C Algorithm做為的RAM device的驗證pattern。 

         在ADAS開機時使用March C Algorithm 來做RAM的BIST好處是快速,產品開機時所需的等待時間對于車用產品極為重要,也是車用產品優劣的重要評判準則,March C Algorithm 除了簡單快速外,還有fault coverage 高的特性。受到廣泛的應用,將March C Algorithm 的pseudo code 詳列如下[5]: 

        //for writing 0s in block 1 and writing 1s in block 2, let n and m are rows and columns
        for(i=0;i<(n-1)/2;i=i+1)
         begin
          for(j=0;j<(m-1);j=j+1)
           mem[i][j]=0; //write 0 in m1
         end
        for(i=(n-1)/2;i<(n-1);i=i+1)
         begin
          for(j=0;j<(m-1);j=j+1)
           mem[i][j]=1; //write 1 in m2
         end
        //for reading background and for writing alternate
          for(i=0;i<(n-1)/2;i=i+1)
           begin
            for(j=0;j<(m-1);j=j+1)
             begin
              if(mem[i][j]==0)
               mem[i][j]=1;
              else return;
             end
           end
        for(i=(n-1)/2;i<(n-1);i=i+1)
         begin
          for(j=0;j<(m-1);j=j+1)
           begin
            if(mem[i][j]==1)
             mem[i][j]=0;
            else return;
           end
         end

        4. 結語

         D1088具DSP指令適合應用在高級駕駛輔助系統。晶心科技提供高性能符合車用的CPU給IC設計業者,在IC設計業者開發車用ADAS產品時,晶心科技提供適當的支持協助IC設計業者開發具競爭力且符合車規的ADAS芯片與系統,衷心感謝偉詮公司顧朝奇博士與陳文慶先生的協助,才能完成此技術文章。

        電子產業各項領域中,不論是MCU,觸控,IoT與本文探討之車用ADAS,晶心科技都已取得不錯的成績,也期望在未來趨勢ADAS與車聯網產業中晶心科技與我們的客戶IC設計業者緊密的合作,開發出具競爭力的芯片與系統,達到雙贏的目的。

        參考文件

        [1] Andes Fir_q15 Program “nds32_fir_q15.c”

        [2] Andes Company Profile July 2016 page 28 

        [3] 新通訊 2016 年 4 月號 182 期《 技術前瞻 》

        [4] Andes Programming Guide for ISA-V3 page 104

        [5] Muddapu Parvathi , N. Vasantha, K. Satya Parasad, “Modified March C - Algorithm for Embedded Memory Testing” International Journal of Electrical and Computer Engineering (IJECE) Vol. 2, No.5, October 2012, pp. 571~576

        ISSN: 2088-8708

         

         

        關于晶心

        為因應全球嵌入式系統應用的快速成長,2005年晶心科技創立于新竹科學園區,致力于開發以32位處理器為核心的系統芯片設計平臺(Processor-based SoC Platforms)。晶心科技是一家國際化結合軟硬件平臺及系統整合能力且專注于系統芯片核心開發的公司。

        隨著電子產業產品日趨多功能化,更多廠商開始對處理器及設計平臺要求更佳的整合性、延展性、設計彈性,以及高效能、低成本與低功率。這樣的復雜度已經超越傳統供應廠商所能提供的解決方案。晶心科技以創新的彈性配置平臺(Configurable Platforms),搭配獨特的軟硬件智財,來滿足未來客戶對產品高質量及快速上市的需求。晶心在自有CPU架構下經過幾年研發及市場的耕耘,目前的V3 CPU家族包括N7、N8、E8、S8、N9、N10、D10和N13系列都已成熟到位,滿足客戶各種應用面的全方位需求。

        關于晶心科技提供之32位CPU IP,歡迎請參閱晶心科技網站 : www..com

         



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 卓资县| 平江县| 界首市| 清水县| 台北市| 淅川县| 大安市| 南丹县| 密山市| 三门县| 天门市| 隆德县| 承德县| 文化| 手游| 浑源县| 牡丹江市| 明光市| 大田县| 东阿县| 吉首市| 瑞昌市| 怀宁县| 乌鲁木齐市| 辽阳县| 鸡东县| 金昌市| 眉山市| 鞍山市| 开远市| 胶州市| 永善县| 集安市| 十堰市| 琼中| 太仓市| 大余县| 潮安县| 墨竹工卡县| 吕梁市| 农安县|