欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于在總線上傳輸數(shù)據(jù)的方法

文檔序號:7578114閱讀:349來源:國知局
專利名稱:用于在總線上傳輸數(shù)據(jù)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于在總線上從一個數(shù)據(jù)源向一個數(shù)據(jù)接收器傳輸數(shù)據(jù)塊的方法,所述的總線支持帶有可變的、有限的數(shù)據(jù)元數(shù)量的幀的傳輸。當(dāng)一個這樣的數(shù)據(jù)塊的數(shù)據(jù)元數(shù)量大于一個幀中可傳輸數(shù)據(jù)元的數(shù)量時,就必須把該數(shù)據(jù)塊分配到多個幀上來傳輸。接收這些幀的一個數(shù)據(jù)接收器,就必須從中恢復(fù)該數(shù)據(jù)塊。
如果在從數(shù)據(jù)源向數(shù)據(jù)接收器傳輸時未被注意地丟失了幀,或者如果當(dāng)一個在傳輸該數(shù)據(jù)塊時代表最后幀的幀不被識別為這樣的幀,并且進(jìn)一步地,由數(shù)據(jù)接收器較遲接收的幀歸入同一個塊中,那么就不可能正確恢復(fù)該數(shù)據(jù)塊。
必須傳輸大規(guī)模的不完全適合于用一個幀的數(shù)據(jù)塊的問題,在研發(fā)以CAN標(biāo)準(zhǔn)為基礎(chǔ)的數(shù)據(jù)處理系統(tǒng)時,例如在研發(fā)汽車技術(shù)的控制裝置時,特別突出。CAN標(biāo)準(zhǔn)良好地適用于在預(yù)定的時間段中從一個傳感器向一個控制裝置以及從控制裝置向一個執(zhí)行器傳輸小的數(shù)據(jù)量,以影響一個汽車馬達(dá)或者汽車的其它單元的運行狀態(tài)。然而在研發(fā)和優(yōu)化這樣一種系統(tǒng)的過程中常常要求在控制裝置與主計算機之間傳輸大規(guī)模的數(shù)據(jù)量,以使與主計算機對話的研發(fā)人員可以準(zhǔn)確和詳細(xì)地跟蹤控制裝置的工作方式。
經(jīng)CAN總線傳輸這樣的數(shù)據(jù)量要求一個顯著的額外量并且導(dǎo)致CAN總線傳輸能力的可觀的負(fù)載。如果控制裝置與主計算機的通信與其它的在該總線上進(jìn)行的、對于待由該控制裝置實現(xiàn)的控制任務(wù)所要求的通信進(jìn)程競爭傳輸容量,就可能發(fā)生傳輸容量不足以用于所有的任務(wù),并且可能影響裝置的功能性。
通過本發(fā)明創(chuàng)建一種用于在總線上在一個數(shù)據(jù)源與一個數(shù)據(jù)接收器之間傳輸數(shù)據(jù)塊的方法,所述的方法用很少的傳輸額外量就足夠并且從而有效地利用總線上所提供的帶寬。所述的方法假定,數(shù)據(jù)接收器指定它預(yù)期從一個源接收的一個數(shù)據(jù)塊的格式,特別是數(shù)據(jù)元的數(shù)量。這一數(shù)據(jù)元數(shù)量可以大于在單個由總線系統(tǒng)支持的幀中可傳輸?shù)臄?shù)據(jù)元的數(shù)量。如果是這種情況,就把一個數(shù)據(jù)塊的數(shù)據(jù)元分配到多個幀上,并且在總線上向接收點傳輸這些幀。如果N是一個待傳輸?shù)臄?shù)據(jù)塊的數(shù)據(jù)元的數(shù)量,并且n是一個幀中可傳輸?shù)淖畲蟮臄?shù)據(jù)元數(shù)量,那么該數(shù)據(jù)塊就完全地填滿int(N/n)個幀,其中int(N/n)是小于或者等于N/n的最大整數(shù)。在傳輸完這些完全填滿的幀后,接著再傳輸一個含有(N模n)個數(shù)據(jù)元的幀。如果N被n整除,那么該最后一個幀的數(shù)據(jù)元的數(shù)量也可以是零。根據(jù)接收到帶有小于最大可能數(shù)據(jù)元數(shù)量n的數(shù)量的幀的事實,所述的數(shù)據(jù)接收器就可以得出結(jié)論,這涉及到數(shù)據(jù)塊的最后一個幀。實際接收到的數(shù)據(jù)元數(shù)量與預(yù)期的數(shù)量N的比較使得在數(shù)據(jù)接收器方能夠判斷是否完全地接收了該數(shù)據(jù)塊。
如果一個待傳輸?shù)臄?shù)據(jù)塊的數(shù)據(jù)元的數(shù)量小于在一個幀中最多可傳輸?shù)臄?shù)據(jù)元的數(shù)量n,原則上可以不加改變地應(yīng)用上述方法在int(N/n)=0的情況下,就只傳輸帶有N個數(shù)據(jù)元的一個單個幀,所述的幀由數(shù)據(jù)接收器直接識別為該數(shù)據(jù)塊的最后的幀。
如果數(shù)據(jù)塊的數(shù)據(jù)元數(shù)量N與幀的數(shù)據(jù)元的最大數(shù)量n相一致,可以有一種有利的特殊調(diào)節(jié)。因為數(shù)據(jù)接收器指定了該數(shù)據(jù)塊待傳輸?shù)臄?shù)據(jù)元的數(shù)量并且當(dāng)數(shù)據(jù)接收器接收該數(shù)據(jù)塊時識別這一數(shù)量,所以它在完全接收一個幀時就已經(jīng)能夠識別其中含有的數(shù)據(jù)塊完全到達(dá)。因為沒有其他的有可能丟失或者以其它方式錯誤地傳輸?shù)膸獋鬏敚栽诖饲闆r下不要求傳輸一個沒有數(shù)據(jù)元的幀,該幀用于向數(shù)據(jù)接收器表明數(shù)據(jù)塊的完全傳輸。
有利的是由數(shù)據(jù)接收器向數(shù)據(jù)源傳輸?shù)目刂菩畔⒉粌H指定待要傳輸?shù)臄?shù)據(jù)塊的數(shù)據(jù)元的數(shù)量,還指定待傳輸?shù)膮?shù)的時刻(或者,在周期地傳輸?shù)那闆r下,多個時刻)以及方式和含義。
本發(fā)明的其它特征和優(yōu)點將會從以下參照附圖對實施例的說明中變得明確。


圖1,示出一個其中可應(yīng)用根據(jù)本發(fā)明的方法的示例性數(shù)據(jù)處理系統(tǒng)的方框圖;圖2示出CAN幀的結(jié)構(gòu);圖3示出一個由主計算機實施的處理的流程圖;圖4示出,由圖1中的控制裝置在根據(jù)本發(fā)明的方法的范圍內(nèi)所實施的處理的一個流程圖。
圖1的方框圖示出一個針對控制器,特別是汽車控制器的研發(fā)環(huán)境作為根據(jù)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的例子。該控制器1包含一個微處理器2,一個存儲部件3和一個對總線,特別是CAN總線5的接口4,汽車的許多功能單元6連接在所述的總線上,所述的功能單元6通過總線5向控制器1發(fā)送車輛運行參數(shù)的測量值和/或從控制器1接收命令并執(zhí)行。所述功能單元可涉及車輛馬達(dá)的曲軸上的轉(zhuǎn)角檢測器,該檢測器向控制器1發(fā)送曲軸轉(zhuǎn)角的測量值,或者可涉及馬達(dá)火花塞,該火花塞接收由控制器1根據(jù)轉(zhuǎn)角的測量值可檢測地導(dǎo)出的點火命令。所述功能單元還可以滿足在此沒有詳細(xì)說明的各種其它的測量和控制任務(wù)。
在控制器還處于試驗和研發(fā)階段時,在CAN總線上連接一個接口7,通過該接口7研發(fā)環(huán)境的主計算機8可以與控制器1通信。
借助于該主計算機8,有可能把由控制器1從各種功能單元6采集的且存儲在存儲器組件3中的數(shù)據(jù)讀出并且向研發(fā)人員顯示,從而研發(fā)人員能夠評價微處理器2的工作方式并且通過改變微處理器2的控制程序排除工作方式的可能的錯誤。
在微處理器2與功能單元6通信時,一般地在嚴(yán)格的時間要求下傳輸小數(shù)據(jù)量。也就是說,如果功能單元6之一發(fā)送一個參數(shù)值,那么控制器1必須在一個預(yù)定的、短的時間內(nèi)對此響應(yīng),并且不可能例如采集功能單元的多個測量值并且把這些多個測量值作為帶有額外量信息的一個整體去傳輸,以提高傳輸效率。因此CAN總線控制采用帶有最多8個字節(jié)的有效數(shù)據(jù)單元的較短的幀,在這些幀中額外量占總共傳輸?shù)臄?shù)據(jù)量的比例相當(dāng)?shù)馗撸欢虼丝梢砸远痰臅r延進(jìn)行數(shù)據(jù)傳輸。
為了表達(dá)清楚,在圖2中詳細(xì)地描述一個CAN幀的結(jié)構(gòu)。一個單個的起始位S標(biāo)記幀的開始,其后跟著一個11位寬的字段ID,所述字段ID包含各個連接在CAN總線5上的裝置(功能單元6、控制器1或者單個在其上運行的進(jìn)程,或者主計算機8或在其上運行的進(jìn)程之一)的唯一性的標(biāo)記,針對其確定所涉CAN幀的有效數(shù)據(jù)。
接著是3個說明CAN幀的特征的狀態(tài)標(biāo)志F,所述狀態(tài)標(biāo)志對于本發(fā)明不重要而不進(jìn)一步地說明。
后續(xù)的4位字段L表示在所述CAN幀中含有的有效數(shù)據(jù)字節(jié)的數(shù)量。這一數(shù)量可以在0與8個字節(jié)之間。
接著的段DATA的長度相應(yīng)于字段L中指出的字節(jié)數(shù)量。
一個16位寬的校驗和字段CRC使得能夠以常規(guī)的方式識別和排除在以前的字段中出現(xiàn)的傳輸錯誤。其后跟著兩個確認(rèn)位ACK和一個7位寬的帶有指明所述幀結(jié)束的位的字段EFL。直到其后接的幀的開始可以添加1-3個不傳輸信息的位。
盡管CAN協(xié)議能夠良好地匹配具有短的響應(yīng)時間的較小的數(shù)據(jù)量的傳輸,然而,如果必須傳輸不適于在單個的CAN幀中的、較大的相互關(guān)聯(lián)的數(shù)據(jù)量時,就出現(xiàn)了問題。必須在用總線5發(fā)送所述數(shù)據(jù)量的數(shù)據(jù)源方把所述數(shù)據(jù)量分配到多個幀中,并且在接收所述數(shù)據(jù)量的數(shù)據(jù)接收器方又完全地并且按正確的順序重新拼合所述數(shù)據(jù)量。特別的是,如果由于在傳輸標(biāo)識段ID時的一個錯誤一個數(shù)據(jù)接收器沒有把為之確定的幀識別為這樣的幀并且加以忽略,如果它由于相同的原因把一個幀誤認(rèn)為為之確定的幀,如果在接收長度字段L時出現(xiàn)一個錯誤,就可能有失敗,錯誤地傳輸有效數(shù)據(jù)或者類似錯誤。為了能夠避免這種情況,或者至少能夠識別和攔住這樣的錯誤,在常規(guī)的系統(tǒng)中占用每個幀8個有效數(shù)據(jù)字節(jié)之一,以傳輸一個循環(huán)的數(shù)碼,所述的數(shù)碼使數(shù)據(jù)接收器能夠識別由它所接收的幀序列的空隙或錯誤分配給它的幀。這樣的循環(huán)數(shù)碼的傳輸附加地增加了該幀的額外量的比例,從而降低了數(shù)據(jù)傳輸?shù)男省?br> 為了應(yīng)對這種弊端,本發(fā)明利用在許多傳輸任務(wù)中對于數(shù)據(jù)接收器待傳輸?shù)臄?shù)據(jù)集的范圍是事先知道的這樣一個事實。這特別是在如圖1所示的數(shù)據(jù)處理系統(tǒng)中,在向主計算機8傳輸控制器1的測量數(shù)據(jù)或者其它運行數(shù)據(jù)時是這種情況。這一般地在預(yù)先安排主計算機8時出現(xiàn),從而主計算機“知道”哪些是要由控制器1傳輸?shù)臄?shù)據(jù)并且知道它們具有什么范圍。如果主計算機從控制器接收到一個提示,即最后的幀將數(shù)據(jù)塊的傳輸視為結(jié)束,因此就是以把實際在塊中接收的數(shù)據(jù)的范圍與預(yù)知的范圍比較,以確定是否出現(xiàn)傳輸錯誤,以及在接收的數(shù)據(jù)量與期待的相一致時就把該傳輸認(rèn)為是成功的。
按照上述原理合作的控制器1和主計算機8的工作程序,參照圖3和圖4的流程圖加以說明。
圖3示出數(shù)據(jù)接收器的工作方式,在這里涉及的例子中也就是主計算機8的工作方式,而圖4示出數(shù)據(jù)源的工作方式,也就是控制器1的工作方式。
在步驟S1中,一個與主計算機8對話的研發(fā)人員定義一個應(yīng)當(dāng)從控制器1向主計算機8傳輸?shù)臄?shù)據(jù)塊的結(jié)構(gòu)。該結(jié)構(gòu)的定義包括詳細(xì)地確定標(biāo)識ID的一個值,所述的標(biāo)識ID以后使得能夠?qū)鬏數(shù)膸峙浣o在主計算機上運行的進(jìn)程。此外確定待傳輸?shù)膮?shù),也就是說確定控制器1的寄存器或者存儲器組件3的存儲位置的一個表,其內(nèi)容應(yīng)當(dāng)向主計算機8傳輸,和應(yīng)當(dāng)傳輸這些參數(shù)的順序。接著,還確定讀取所涉存儲位置應(yīng)當(dāng)進(jìn)行的時刻。該時間點可以是一個單個的絕對確定的時刻,它可以是通過針對一個外部條件的出現(xiàn)的某個的時間關(guān)系來定義,例如用在觸發(fā)某個中斷后一個指定的時延,或者也可以被設(shè)置為一個帶有指定周期的周期性傳輸。
在步驟2中把這樣確定的控制信息傳輸給控制器1。為了簡化,應(yīng)當(dāng)假定,要傳輸?shù)目刂菩畔⒌囊?guī)模不超過8個字節(jié),從而可以在單個常規(guī)的CAN幀中傳輸所述控制信息。如果要傳輸?shù)目刂菩畔嘤?個的字節(jié),可以把下面針對從數(shù)據(jù)源向數(shù)據(jù)接收器傳輸一個數(shù)據(jù)塊所述的方法用于從數(shù)據(jù)接收器向數(shù)據(jù)源傳輸控制信息。
所述控制信息由數(shù)據(jù)源,在此是控制器1接收(圖4中的步驟D1)。在此期間,數(shù)據(jù)接收器預(yù)備接收第一個數(shù)據(jù)塊,其中它把一個計數(shù)器N(t)設(shè)置為0(步驟S3)。接著,它轉(zhuǎn)到等待狀態(tài)S4,在此狀態(tài)它等待通過CAN總線5的一個幀的出現(xiàn)。
與此并行地數(shù)據(jù)源等待在控制信息中規(guī)定的時刻讀取寄存器(D2)。在規(guī)定的時間點它以讀取寄存器開始,并且向主計算機8發(fā)送一個CAN幀的頭段H,也就是在圖2中用S至L標(biāo)示出的段。這個主計算機在步驟S5中檢驗在頭段H中傳輸?shù)臉?biāo)識ID是否與預(yù)期的相一致。如果不存在一致性,該主計算機8或者返回待收狀態(tài)S4,或者,在標(biāo)識ID相應(yīng)于另一個、同樣要由其實施的進(jìn)程時,轉(zhuǎn)向另一個處理進(jìn)程。
在此期間,所述的控制器在步驟D4發(fā)送該幀的一個數(shù)據(jù)字節(jié)。接著(D5)該控制器檢驗,是否根據(jù)數(shù)據(jù)塊的定義還剩有要發(fā)送的數(shù)據(jù)字節(jié)。如果不是這種情況,就在步驟D6中發(fā)送CAN幀的尾段(Trailer),也就是說從CRC段至EOF段。然后在步驟D7中檢驗,數(shù)據(jù)塊的字節(jié)數(shù)N是否不同于n,或者是否可被n整除。如果滿足這樣的條件之一,只要不涉及一個只要一次發(fā)送的數(shù)據(jù)塊,就在所述流程返回步驟D2以前,在步驟D8再發(fā)送一個沒有有效數(shù)據(jù)的幀。在其它情況下所述流程直接結(jié)束或者直接返回D2,無需發(fā)送一個空幀。
如果在步驟D5中的檢驗得出,還有數(shù)據(jù)字節(jié)要發(fā)送,所述流程進(jìn)一步轉(zhuǎn)到步驟D9,在步驟D9中檢驗,是否在傳輸中的幀中還允許再傳輸一個字節(jié)。如果是,所述流程返回到步驟D4,以發(fā)送該字節(jié),如果不是,就在步驟D10中發(fā)送尾段,并且所述流程返回到步驟D3,以開始傳輸另一個幀的頭段。
如果主計算機8在步驟S5發(fā)現(xiàn)幀的標(biāo)識正確,它就在步驟S6接收一個數(shù)據(jù)字節(jié),并且把所接收字節(jié)的計數(shù)器N(t)增加。接著,主計算機在步驟S7中比較在頭段H的長度字段L中說明的該幀中含有的有效數(shù)據(jù)字節(jié)的數(shù)量n(t),與最大允許的有效數(shù)據(jù)字節(jié)的數(shù)量n=8。當(dāng)這兩個值一致時,所述流程轉(zhuǎn)向步驟S8,在所述步驟S8中,主計算機把在定義塊的步驟S1中知道的在要傳輸?shù)臄?shù)據(jù)塊中含有的數(shù)據(jù)字節(jié)的總數(shù)N與一個幀的最大允許的字節(jié)數(shù)n進(jìn)行比較。在兩個不一致時,就意味著應(yīng)等待傳送同一數(shù)據(jù)塊的其它字節(jié)的其他CAN幀的傳輸,并且所述流程返回到步驟S4的等待狀態(tài)。然而,如果在步驟S7中確定了相同性,這就意味著所述數(shù)據(jù)塊總共只含有≤8個數(shù)據(jù)字節(jié),并且從而其傳輸完全了。在此情況下所述流程轉(zhuǎn)到在步驟S9中所接收數(shù)據(jù)字節(jié)的處理。
如果主計算機在步驟S7中確定,在當(dāng)前幀中傳輸?shù)谋忍財?shù)n(t)是最高可允許的比特數(shù)n,這就意味著涉及一個數(shù)據(jù)塊的最后的幀。接著(S9)主計算機把該數(shù)據(jù)塊的至此時接收的數(shù)據(jù)字節(jié)的數(shù)量N(t)與在步驟1中所涉的定義的字節(jié)數(shù)N比較。在不相同時,必定發(fā)生了一個錯誤,并且所述流程轉(zhuǎn)到一個出錯處理子程序,其中,例如可以摒棄整個數(shù)據(jù)塊或者請求重新傳輸該數(shù)據(jù)塊。在相符時把該數(shù)據(jù)塊認(rèn)為是正確地接收的,并且在步驟S9中進(jìn)行處理。
接著,所述流程返回步驟S3,以把字節(jié)計數(shù)器N(t)重新設(shè)置為0并且等待另一個數(shù)據(jù)塊的傳輸。
用上述方法達(dá)到,即使在傳輸含更多有用數(shù)據(jù)位的相關(guān)有用數(shù)據(jù)塊時能夠作為一個CAN幀來接受,CAN幀的全部傳輸容量都提供用于傳輸這些有用數(shù)據(jù),并且不必安排用于傳輸控制信息的附加有用數(shù)據(jù)傳輸容量。所述方法與現(xiàn)有的、在CAN總線上的數(shù)據(jù)傳輸所涉標(biāo)準(zhǔn)兼容。
權(quán)利要求
1.一種用于在一個總線(5)上從一個數(shù)據(jù)源(1)向一個數(shù)據(jù)接收器(8)傳輸數(shù)據(jù)塊的方法,所述總線(5)支持帶有可變的、有限數(shù)量n的數(shù)據(jù)元的幀的傳輸,所述方法有步驟(a)從所述的數(shù)據(jù)接收器(8)向所述的數(shù)據(jù)源(1)發(fā)送(S2)一個控制信息,該控制信息至少指定在一個要傳輸?shù)臄?shù)據(jù)塊中含有的數(shù)據(jù)元的數(shù)量N;(b)如果N>n,從所述的數(shù)據(jù)源(1)向所述的數(shù)據(jù)接收器(8)發(fā)送(D4)各帶有要傳輸?shù)臄?shù)據(jù)塊的n個數(shù)據(jù)元的int(N/n)個幀,以及一個帶有要傳輸?shù)臄?shù)據(jù)塊的(N模n)個數(shù)據(jù)元的幀,其中int(N/n)是小于或者等于N/n的最大整數(shù);(c)如果在步驟b)中接收到的數(shù)據(jù)元的數(shù)量與在控制信息中所指定的數(shù)量相一致,就由數(shù)據(jù)接收器(8)把一個數(shù)據(jù)塊的傳輸識別成完整的(S9)。
2.如權(quán)利要求1所述的方法,其特征在于,如果N=n,那么所述的數(shù)據(jù)源(1)發(fā)送帶有N個數(shù)據(jù)元的一個單個幀,并且在接收該單個幀以后數(shù)據(jù)接收器(8)就把該數(shù)據(jù)塊識別成完整的。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述的數(shù)據(jù)源(1)在一個控制信息中指定的時刻發(fā)送該數(shù)據(jù)塊。
4.如上述權(quán)利要求之一所述的方法,其特征在于,所述的數(shù)據(jù)源(1)由多個在控制信息中指定的參數(shù)編排所述數(shù)據(jù)塊。
5.如上述權(quán)利要求之一所述的方法,其特征在于,所述的總線是CAN總線。
6.如上述權(quán)利要求之一所述的方法,其特征在于,用于一種控制電路的研發(fā)環(huán)境中,其中所述的數(shù)據(jù)源(1)是控制電路,而所述的數(shù)據(jù)接收器(8)是主計算機。
全文摘要
在總線(5)上從一個數(shù)據(jù)源(1)向一個數(shù)據(jù)接收器(8)之間傳輸數(shù)據(jù)塊的方法,所述總線(5)支持帶有可變的、有限的數(shù)據(jù)元數(shù)量的幀的傳輸,所述方法具有下列步驟(a)從數(shù)據(jù)接收器(8)向數(shù)據(jù)源(1)發(fā)送(S2)一個至少指定在一個待傳輸?shù)臄?shù)據(jù)塊中含有的數(shù)據(jù)元的數(shù)量N的控制信息;(b)如果N>n,從數(shù)據(jù)源(1)向數(shù)據(jù)接收器(8)發(fā)送(D4)int(N/n)個各帶有待傳輸?shù)臄?shù)據(jù)塊的n個數(shù)據(jù)元的幀,以及一個帶有待傳輸?shù)臄?shù)據(jù)塊的(N模n)個數(shù)據(jù)元的幀,其中int(N/n)是小于或者等于N/n的最大整數(shù);(c)如果在步驟b)中接收到的數(shù)據(jù)元的數(shù)量與在控制信息中所指定的數(shù)量相一致,就由數(shù)據(jù)接收器(8)把一個數(shù)據(jù)塊的傳輸識別成完整的(S9)。
文檔編號H04L29/08GK1706170SQ200380101619
公開日2005年12月7日 申請日期2003年10月17日 優(yōu)先權(quán)日2002年10月18日
發(fā)明者R·許爾曼斯, T·奧斯特加特 申請人:羅伯特·博世有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁阳县| 新巴尔虎右旗| 师宗县| 阿巴嘎旗| 锡林浩特市| 台江县| 清水河县| 通州区| 澜沧| 阳谷县| 平塘县| 垣曲县| 雷波县| 新密市| 宿迁市| 武鸣县| 东阿县| 大关县| 清新县| 隆德县| 丰宁| 吐鲁番市| 康保县| 砀山县| 汤阴县| 阿拉善右旗| 武山县| 桐庐县| 江口县| 崇义县| 宁强县| 锦州市| 清水县| 济宁市| 高安市| 淳安县| 清徐县| 余干县| 稷山县| 南江县| 蒙城县|