娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

汽車電子硬件開發常用的安全機制

發布者:Xiaochen520最新更新時間:2025-04-07 來源: 汽車電子與軟件 手機看文章 掃描二維碼
隨時隨地手機看文章

編者:


本文節選自機工社25年3月出版的《一本書讀懂智能汽車安全》,該書是一本全面講解智能汽車安全的通俗性著作,系統講解了汽車研發全流程的功能安全、預期功能安全和網絡安全,以及三者在汽車研發中的融合之道。本書由SASETECH汽車安全社區組織編寫,匯聚了博世、蔚來、小鵬、磐時、卓馭、地平線、上汽、吉林大學等業界和學界在汽車安全領域的實踐經驗和研究成果。



以下是正文:


硬件安全機制是保障硬件隨機性失效(功能安全)或攻擊(網絡安全)能夠被探測和控制的重要手段。從功能安全的角度來看,硬件需要具備自我診斷和故障容忍的能力,以確保在發生硬件故障的情況下仍能提供可靠的操作。而從網絡安全機制的角度來看,硬件需要采用安全認證和加密技術,以保護車輛內部數據免受惡意攻擊。本節將重點介紹硬件在功能安全機制和網絡安全機制方面的關鍵技術和要求,全面介紹智能汽車功能安全、網絡安全中不同安全機制的適用性和注意事項。


#01


傳感器的安全機制

1. 有效范圍檢查


對于傳感器的安全來說,檢查其輸出的有效范圍幾乎是最容易實現且最常見的安全機制,同時在傳感器的各種安全機制中也是診斷覆蓋率最低的,通常被認為只能檢測出短路和短電源的故障。該機制的實現方法是:如果一個傳感器的輸出范圍在各種工況下都在20至80之間,那么控制器如果讀到一個小于10或者大于90的數值,可以認為該傳感器的輸出不在合理范圍內,判斷其有故障。診斷覆蓋率一般被認為是“低”。


2. 1oo2、2oo2、2oo3 輸入比較


利用相互獨立的傳感器實現投票表決。這種投票表決的安全機制不僅適用于傳感器,也適用于處理器和執行器。


常見的投票機制包括One-out-of-one(1oo1,一選一 )、One-out-of-two(1oo2,二選一 )、Two-out-of-two(2oo2,二選二)、Two-out-of-three(2oo3,三選二)。


在這樣的M-out-of-N的投票中,第一個數字M代表保證表決結果正確所要求的有效傳感器數量,后一個數字N 代表傳感器總數。


在 1oo2 設計中,主備組件之間會進行實時數據同步,包括輸入、輸出和內部狀態等。比較機制會定期比較主備組件的輸出結果,如果發現結果不一致,可能意味著主組件或備組件出現故障或錯誤。針對動態信號、變化率有要求的信號,可以實現高診斷覆蓋率;但是對于靜態信號,通常認為只有中等診斷覆蓋率。在判斷1oo2 設計的診斷覆蓋率時,我們還需要依賴診斷周期和信號變化周期的關系。


在2oo3設計中,其中三個相同的組件執行相同的功能,系統需要至少兩個組件在輸出上達成一致才被認為是有效的。表5-11展示的是2oo3系統的輸入-輸出真值表。


表 5-11  2oo3系統的輸入-輸出真值表


圖片

在這個真值表中,輸入A、B 和 C 表示冗余組件的輸入,輸出表示2oo3系統的最終輸出。 如果至少有兩個輸入達成一致(即設為1),輸出也將為1;如果只有一個或沒有輸入達成一致(全部設為0或只有一個設為1),輸出將為0。這種冗余方案確保系統即使其中一個組件發生故障或提供錯誤的輸出,仍然保持可操作性。該方案診斷覆蓋率一般被認為是與設計相關,最高可以達到“高”。


3. 測試模式


這種測試是為傳感器提供一個定義好的輸入,再比較“傳感器理論上應該的輸出”和“實際的輸出”。例如,對于一個電流傳感器來說,生成一個變化的電流,再比較該傳感器對變化的波形解析出的實際數字結果和預設的結果是否足夠吻合,以判斷其是否有故障。這個例子中的測試模式需要在系統中實現。有些傳感器則將這種測試集成到了傳感器內部,自行產生輸入并進行判斷,輸出給外界處理器的就是一個故障狀態的信號。該方案診斷覆蓋率一般被認為與設計相關,最高可以達到“高”。


4. 傳感器相關性診斷


簡單來說,該方案就是通過兩個類似的傳感器的結果比較進行相關性診斷。以溫度傳感器為例,用電路搭建兩個斜率相反的NTC 電路,一個上拉,一個下拉,如圖5-5所示。


圖片


圖 5-5  電路結構


再用模數轉換器 (Analogue  to  Digital  Converter,ADC) 采集兩個輸出電壓,比較換算后的電壓值差異是否在一定范圍內,就可以使MCU對該部分的溫度進行相關性診斷。(如果對 ADC 有獨立性要求,需要考慮使用不同的ADC,并注意ADC 參考電壓的獨立性。)該方案診斷覆蓋率一般被認為是“高”。


5. 傳感器合理性校驗


該方案診斷思路與傳感器相關性診斷方案類似,不同之處在于合理性校驗采用了不同傳感器的結果,然后將兩者轉化為等效值進行校驗。以溫度傳感器為例,在一個系統中,如果某個執行器的電流上升,溫度升高,MCU 通過NTC也會讀到溫度升高。但如果其他環境因素保持不變,電流上升而溫度反而下降,可以認為兩者中有一個可能存在故障。該方案診斷覆蓋率一般被認為是“中等”。


#02


控制器及周邊器件的安全機制


1. 時鐘的安全機制


看門狗是一種用于監控MCU程序是否失控或已停止運行的定時器。如果MCU發生失效或故障,我們可以依靠看門狗的獨立路徑來重啟或復位MCU。看門狗定時器 (WDT) 和MCU 在電路結構上的關系如圖5-6所示。


圖片


圖 5-6 看門狗定時器 (WDT) 和MCU在電路結構上的關系


從功能上看,看門狗分類如下。


(1) 超時看門狗


如果在設定的時間間隔內未收到來自MCU的喂狗信號,則看門狗輸出復位信號。這種看門狗邏輯最簡單,但其診斷覆蓋率為低。


這種看門狗的局限在于,如果MCU的時鐘過快,過早地喂狗,它是無法發現的。


注:大家常說的“喂狗”其實是指:用信號觸發看門狗,使其計數器刷新,重新開始計時。


(2)窗口看門狗


窗口看門狗相比超時看門狗增加了閉合窗口時間段的設計,即在此時間段外不允許接收喂狗信號。


如果在設定的時間間隔內沒有接收到來自MCU的信號,或過早接收到來自MCU的信 號 (或者多個類似信號),看門狗定時器則會判斷MCU發生故障并輸出復位信號。


圖5-7很好地解釋了過早或過晚喂狗后看門狗復位的邏輯。窗口看門狗的診斷覆蓋率為中等。這種看門狗的局限在于,如果MCU內部的算術邏輯單元(Arithmetic  Logic  Unit,ALU)  發生問題,它是無法發現的。


(3) 問答看門狗


這種看門狗通常基于時間窗口。 MCU根據“看門狗發來的問題”或者“上一次回答的答案” 或者“預設的序列”向看門狗發送這次的答案。看門狗根據 “MCU發送的答案與預定數據是否匹配”以及“是否在時間窗口內”來判斷MCU 是否正常工作。診斷覆蓋率被認為是“高”。


圖片


圖 5-7 過早或過晚喂狗后看門狗復位的邏輯


如果從時鐘源上劃分,看門狗分類如下:


  • 獨立時鐘源的看門狗。這種看門狗有獨立的時鐘源,才被認為能提供診斷覆蓋。


  • 非獨立時鐘源的看門狗。非獨立時鐘源的看門狗一般被認為連低診斷覆蓋率都達不到。如果從看門狗的位置是否和MCU在同一個Die 上劃分,看門狗可以被分為外部看門狗、內部看門狗。


通常,只有外部看門狗才被認為能提供診斷覆蓋。因為MCU的故障很可能也會影響內部看門狗,即兩者很可能存在共因失效,導致MCU發生問題時,內部看門狗無法觸發RESET。


2. 存儲的安全機制


(1) Parity


Parity分為奇校驗和偶校驗。


  • 奇校驗:數據位和奇校驗位所有位上的1相加為奇數。


  • 偶校驗:數據位和偶校驗位所有位上的1相加為偶數。


當包括奇偶校驗位在內的奇數個位發生錯誤時,奇偶校驗可以檢測到數據傳輸發生錯誤。


奇偶校驗只需要一位就可以對數據進行校驗,但只能發現是否有錯誤,不能定位錯誤的具體位。且當有偶數個位發生錯誤時,無法發現錯誤,診斷覆蓋率為低。


(2) ECC


ECC (Error  Correcting  Code,糾錯碼)可檢測并在某些情況下糾正受保護的數據中的錯誤。ECC使用固定數量的碼位。ECC的位數取決于受保護的數據位數。當數據或其ECC 碼中的特定數量的位損壞時,ECC可以檢測錯誤。通常,ECC 可以糾正數據或其ECC碼中的一些錯誤。 ECC的診斷覆蓋率取決于冗余位數,一般認為ECC的診斷覆蓋率水平可以達到高。


(3) Checksum


Checksum是指傳輸位數的累加。在傳輸結束時,接收方可以根據該數值判斷是否正確接收了數據。如果數值匹配,說明傳送正確。校驗和一般用于通信中,特別是遠距離通信,以保證數據的完整性和準確性。


Checksum診斷覆蓋率與被保護的數據和Checksum的長度有關。 一般認為,Checksum 診斷覆蓋率水平可達到高。


數據發送方生成Checksum的步驟如下。


1) 將需要數據中的Checksum 位設為0。


2) 數據按每2 Byte 劃分開來,每兩字節組成一個16bit的值,若最后有單字節的數據, 補1 Byte 的0組成2 Byte。


3) 將所有的16bit的值累加到一個32bit 的值中。


4) 將32bit 值的高16bit 值和低16bit 值相加,得到一個新的值,若新的值大于0Xffff,再將新的值的高16bit 與低16bit 相加,直到值小于等于0Xff。


5) 將第四步計算得出的16bit 值按位取反(即取補碼),即可得到Checksum 值,存入相關字段即可。


數據接收方校驗的步驟如下。


1) 數據接收方把接收到的數據按發送方的方法進行累加和取反。


2) 校驗結果為零表示校驗通過;否則,校驗不通過。


(4) CRC


CRC(Cyclic  Redundancy  Check,循環冗余校驗碼)由數據nbit和校驗碼kbit構成。n+k為循環冗余校驗碼的字長,又被稱為“(n+k,n) 碼”。數據序列之后的kbit校驗碼與nbit數據之間存在特定的關系。如果因失效等原因使nbit數據中的某一位或多位發生錯誤,這種關系就會被破壞。因此,通過檢查這一關系,可以實現對數據正確性的檢驗。


CRC 的診斷覆蓋率與被保護數據的長度、 CRC 的位數以及多項式種類有關。一般認為,CRC 診斷覆蓋率水平可達到高。


(5) Memory  Replication


Memory  Replication(模塊備份)是功能安全中的一種高診斷覆蓋率的安全機制,其核心理念是通過對關鍵或高風險模塊進行冗余設計,使兩個或多個相同或不同的模塊實現同樣的功能,并且在運行時進行比較和切換,以防故障發生。


以 Double  Memory  with  Hardware  or  Software  Comparison(通過硬件或軟件的雙份內存數據比較方法)為例,通常會將地址空間復制到兩個不同的內存中,這樣就有了兩份相同的數據。第一個內存正常工作,第二個內存與第一個內存同時工作,但不影響程序運行。每次訪問內存時,都會比較兩個內存的輸出,如果發現不一致,就說明有錯誤發生,并且會給出提示。這種方法可以提高診斷覆蓋率水平,也就是檢測錯誤的能力,但需要注意考慮共因失效。


但是 ,Memory   Replication 會極大地消耗硬件資源,且一般使用三模冗余(Triple  Modular  Redundancy, 三個模塊執行相同的操作),將多數相同的輸出作為整個系統的正確輸出。該方法只有在安全性和魯棒性要求極高的系統中才會使用。 一般認為,Memory  Replication 的診斷覆蓋率水平可達到高。


(6) Memory  BIST(MBIST)( 寫全0和全1 )


MBIST 是一種結構性 DFT 技術,將芯片的測試結構置于芯片內部。MBIST 電路通常包括測試向量生成電路、BIST 控制電路和響應分析電路三部分。通過系統上/下電運行來檢測內存單元中的永久性故障,以防隨機故障潛伏在內存單元中。


(7) MMU/MPU


MMU(存儲器管理單元)的主要功能是將輸入地址轉換為輸出地址。此轉換基于地址映射和內存屬性信息,這些信息可從存儲在內存中的配置表和轉換表中獲得。MMU提供的功能可以幫助軟件實現內存分區,即所有對內存地址的訪問都需要經過MMU中的表格進行檢查或轉換,使得軟件無法直接訪問物理地址,而是通過虛擬地址訪問。同時,MMU 提供基于硬件的存儲器訪問授權,從而實現不同進程任務的空間隔離。


MPU(存儲器保護單元)是位于存儲器內部的一個可編程區域,它將內存劃分為具有特定權限和訪問規則的多個區域,定義了存儲器的屬性和存儲器的訪問權限。


MPU 主要實現的保護如下。


  • 可以將內存劃分為特權區域和普通區域,普通用戶禁止訪問特權區域,以此保護特權區域中的數據。


  • 設置某區域為只讀,可以防止安全相關的數據被篡改。


  • 檢測堆和棧的溢出以及數組是否越界。


MMU/MPU 對于非法訪問相關的失效,診斷覆蓋率水平為高。


3. 電源的安全機制


對于電源的安全機制,大家要區分一級電源和二級電源。一級電源就是我們常說的12V 電源,是整個控制器的輸入。二級電源指的是通過DCDC 或低壓差線性穩壓器(LDO)  將12V電源轉化為5V、3.3V、1.8V等電源供控制器內部使用。對于一級電源,除了有EMC的要求外,通常也要求對電壓進行采集監控。比較復雜的是對二級電源進行監控。


(1) PMIC/SBC


對于電源的監控,最常見的安全機制是使用自帶安全機制的PMIC/SBC。一般大家常說的ASILD電源芯片就是指這類PMIC/SBC。圖5-8所示為英飛凌某款電源芯片架構中體現的安全機制。注意,這里芯片廠商的措辭一般很嚴謹,一般都不會說這顆芯片是ASILD芯片,而是會說Enables  ASILDon  System  Level或者Safety  System  Basis  Chip  Fit  for  ASILD。


其中,比較常見的安全機制如下。


  • 對具有獨立參考源(額外的Bandgap)  的所有輸出進行UV (欠壓)/OV (過壓)監控。


  • 內置的自檢功能用來確保相關安全機制的正常運行。


  • 用于進入安全狀態的控制和硬件引腳。


  • 其他用來監控MCU的安全機制,比如集成外部看門狗。


圖片


圖 5-8 英飛凌某款電源芯片架構中體現的安全機制


對于滿足不同ASIL 等級要求的PMIC,它的安全機制也有所差別。比如常見的FS8400 (ASILB)和 FS8500(ASILD) 芯片在安全機制上的差別比較可以參考圖5-9。


(2) ADC (對于非PMIC 的高精度補充)


如果一些電源的功率/效率要求較高,對Buck Boost電源的數量需求較多,設計中可能不會使用PMIC ( 因為PMIC一般會自帶較多LDO電源 ,這些LDO電源就被浪費了)。那么,如果這些電源不是用于MCU供電,可以考慮使用ADC來監控它們。需要注意的是,對于被檢測的電源和參考電源,必須做好共因分析。


(3) 比較器(對于非PMIC 的低精度補充)


同用ADC來做監控的場景類似,一些不適合用PMIC的電源如果對于診斷的精度要求比較低,也可以用比較器來監控輸出。再將比較器的輸出作為SafetyPin去執行故障響應。同時,由于不需要軟件的邏輯判斷,這種純硬件的安全機制響應速度快,適合用于對于 FTTI “預算緊張”的設計。同ADC 一樣,需要注意的是對于被檢測的電源和參考電源一定要做好共因分析。


圖片


圖 5-9 FS8400(ASILB) 和 FS8500(ASILD) 芯片在安全機制上的差異比較


4. 處理單元的安全機制


(1)鎖步核


鎖步核是針對芯片的一種常見的用于實現高診斷覆蓋率的安全機制。它的實現方法是:


兩個核運行同樣的程序,將結果輸入一個比較邏輯,周期性地比較兩個核的輸出結果是否相同。如果相同,則繼續運行;否則,可以采取滿足安全要求的重啟或其他故障恢復機制。如果在一段時間后錯誤無法恢復,則需要在指定的安全時間內進入故障安全狀態。


雙核鎖步是實現鎖步核的一種方法。如圖5-10所示, 一個芯片中包含兩個相同的處理器。一個作為主處理器,一個作為從處理器。它們執行相同的代碼并嚴格同步,主處理器可以訪問系統內存并輸出指令,而從處理器不斷執行主處理器獲取的指令。從處理器產生的輸出(包括地址位和數據位)發送到比較邏輯模塊,由主處理器和從處理器總線接口的比較器組成,檢查它們之間的數據、地址和控制線的一致性。 一旦輸出不匹配,通常會標記故障并執行重啟。需要注意的是,雖然我們可以檢測到兩個總線的不一致,從而發現其中一個處理器存在故障,但這時候并不能確定是哪一個處理器存在故障。這種架構的好處是使得CPU自檢獨立于應用軟件,不需要執行專門的指令集自檢,實際運行的軟件指令在每個時鐘周期都進行比較,只需要測試軟件用到的CPU 資源。然而,這種架構不會對內存和總線進行檢測,因此需要增加單獨的檢測方法,以避免兩個處理器的共因故障。


圖片


圖 5-10 典型雙核鎖步架構


在實際應用中,延遲鎖步是一種實現方法。如圖5-11所示,與雙核鎖步不同的是,在芯片設計過程中,其中一路核的輸入信號路徑上設置了N 個時鐘周期的延遲,而在另一路核的輸出信號路徑上也延遲N 個時鐘周期,然后在統一的比較邏輯模塊上檢查它們的數據一致性。 如果發現不一致,通常會標記故障或者重啟。除了繼承雙核鎖步的好處外,這種方法還可以大大降低兩個CPU 同時發生共因故障(如噪聲脈沖)的概率。當然,從實現難度上來說,延遲鎖步比雙核鎖步更加困難。


(2) 基于軟件的指令集測試


STL(Software  Test  Library)是功能安全相關軟件的測試庫,通常包含一組測試函數。每個函數針對一個或多個指令集進行測試,并返回測試結果。


圖片


圖 5-11  延遲鎖步架構


STL 可以實現對永久性故障的診斷覆蓋,同時最大限度地減小對系統可用性的影響。它的好處一般體現在以下幾方面。


  • 可通過選擇不同的測試集來實現對邏輯模塊的診斷,以滿足不同的診斷覆蓋率要求。


  • 可靈活選擇測試集及運行時間間隔,以滿足不同的應用場景需求。


5. 芯片系統層級安全機制


(1) 測試模式


在圖像處理中,測試模式通常指的是用來檢測 ISP 是否有故障的一種安全機制。例如在 IP設計中,ISP 通常會在周期內生成所需的測試圖像,通過將測試圖像與預設結果進行比較來判斷邏輯是否出現問題。如果結果比較沒有通過,系統會發送相應的中斷以表明邏輯出現問題 。


(2) 系統內測試(In System Test)


系統內測試是指在芯片上電或下電時執行的一系列診斷測試,用于檢測硬件和軟件的故障模式及影響。對于功能安全而言,進行上電或下電自檢通常是為了防止潛伏故障。上電或下電自檢有多種方法,根據自檢對象和時間,可分為以下幾類。


1) 軟件自檢:利用預先設置好的或自動生成的數據或代碼,對物理存儲、運算器及控制器進行檢測。


2) 硬件邏輯自檢(LBIST): 在控制單元內部集成專用自檢硬件,最常見的就是內建自測試 (BIST) 。通過在芯片設計中加入額外自測試電路,在測試時從外部施加控制信號,運行內部自測試硬件和軟件,以檢查電路缺陷或故障。測試模式一般是DFT工程師利用自動測試設備(Automatic  Test  Equipment,ATE) 結合失效模型和自動測試模式生成(Automatic  Test  Pattern  Generation,ATPG) 技術來滿足相應的診斷覆蓋率要求。診斷范圍根據覆蓋的目標、大小等指標來設計。


3) 內存自檢(MBIST):MBIST用于在系統上電或下電時,或系統運行過程中檢測內存的硬件故障。對于ASIL C/D的系統,除了必要的上電自檢外,我們建議在滿足FTTI 的情況下進行周期性自檢。對于ASILB 的系統,通常上電自檢即可滿足設計要求。


(3) 安全島


一般在車規級SoC 中,除了使用Cortex-A 核、NPU、GPU、數字信號處理器(Digital  Signal  Processor,DSP)等高性能核處理特定任務外,我們還需要一個高實時性內核。目前,大多數SoC 安全島都會集成一組雙核鎖步的Arm  Cortex R-52內核。它的主要功能是檢測和處理SoC 內部其他子系統的故障,并將故障上報給控制器。當然,也有部分SoC安全島集成多組Arm Cortex R核,直接取代控制器中外掛的安全MCU。安全島通常獨立于SoC中的其他子系統,具有獨立的時鐘、供電機制優先級較高的中斷機制。


(4) 溫度和功率監控


功能安全中的溫度和功率監控是指對系統的溫度和功率進行實時測量和控制,以保證其正常工作,避免過熱或過載等危險情況發生。各大車規級芯片公司都有類似功能的芯片。這些芯片可以提供高精度的電流、電壓、功率和溫度測量,并支持功能安全。對于電池管理系統 (BMS)  來說,熱管理主要是管理電芯的化學反應,從而控制相關的電池性能。然而,目前對于BMS來說,大多僅僅是傳遞當前電芯的溫度給車輛控制單元(VCU)。


工藝、電壓和溫度 (PVT) 傳感器是半導體IP 電路模塊,通常嵌入芯片內部,主要用來感知芯片的動態操作環境(即電壓和溫度)以及靜態條件(即工藝)。


#03


執行器的安全機制


執行器的監控通常分為兩類。


1) 一種是不介入執行器的常規運作,以“旁觀者”的角度進行監控。該類監控可實現在線監控(時域表現)和物理參數監測(以“旁觀者”的角度進行監控),比如常見的位置傳感器,用來監控電機(執行器)是否將目標物推動到相應的位置。


2) 一種是以測試模式為主要方式進行監控。該類監控比較適合那些平時不用運動的執行器,比如在車輛啟動的時候或者非工作區間周期性地讓執行器做特定的動作,以判斷其是否正常。


#04


線束連接的安全機制


1. HVIL (高壓互鎖)


對于高壓線束來說,如果其高壓回路的完整性遭到破壞,容易引發非預期的高壓暴露,從而發生電擊傷害事故。所謂高壓互鎖,是指用低壓信號來監視高壓回路的完整性。典型的 HVIL 連接器結構如圖5-12所示。通過使用一套比高壓先接通、后斷開的低壓信號來檢查所有與高壓線束相連的各組件的電氣連接完整性,如圖5-13所示。比如,當高壓回路完整時,低壓信號讀到12V的電壓值;當高壓回路不完整時,低壓回路也不完整,電流傳遞不到被讀取的位置,因此讀到的電壓值為0V。

[1] [2] [3]
引用地址:汽車電子硬件開發常用的安全機制

上一篇:不允許起火爆炸,GB 38031《電動汽車用動力蓄電池安全要求》
下一篇:最后一頁

小廣播
最新汽車電子文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

About Us 關于我們 客戶服務 聯系方式 器件索引 網站地圖 最新更新 手機版

站點相關: 動力系統 底盤電子 車身電子 信息及娛樂系統 安全 總線與連接 車用傳感器/MCU 檢測與維修 其他技術 行業動態

索引文件: 3 

詞云: 1 2 3 4 5 6 7 8 9 10

北京市海淀區中關村大街18號B座15層1530室 電話:(010)82350740 郵編:100190

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 资中县| 秭归县| 黔南| 石门县| 德州市| 乌海市| 台中县| 汉川市| 六枝特区| 永年县| 海晏县| 慈溪市| 固阳县| 龙口市| 稻城县| 陕西省| 泗洪县| 郸城县| 雷州市| 伽师县| 扶风县| 东丽区| 通榆县| 四川省| 太和县| 涡阳县| 玛曲县| 本溪| 太保市| 伽师县| 清镇市| 威信县| 昌宁县| 剑川县| 浦县| 开封县| 梧州市| 奈曼旗| 柳州市| 阿尔山市| 沽源县|