官术网_书友最值得收藏!

1.2 嵌入式處理器

嵌入式系統應用需求的廣泛性,以及應用功能的單一性、確定性的特點,決定了嵌入式處理器實現高性能的途徑與通用微處理器有所不同,嵌入式處理器主要是針對于專門的應用領域進行專門設計來滿足高性能、低成本和低功耗的要求。

嵌入式系統的核心是嵌入式處理器,它對實時多任務具有很強的支持能力,能夠完成多任務并且有較短的中斷響應時間,從而使內部的代碼和實時內核的執行時間減少到最低程度;同時,還具有功能很強的存儲區保護功能,這是由于嵌入式系統的軟件結構已采用模塊化形式結構。為了避免在軟件模塊之間出現錯誤的交叉作用,其內部設計有存儲區保護功能,這有利于軟件診斷。另外,處理器還具有可擴展結構的功能,有利于快速地開發出滿足應用性能的專用嵌入式處理器。嵌入式處理器內部功耗很低,甚至可以在mW或μW數量級,經常用于便攜式的無線及移動的計算和通信設備上。目前,社會上應用的嵌入式處理器一般可以分為以下四種類型,如圖1-3所示,本節將分別進行介紹。

圖1-3 嵌入式處理器的四種分類形式

1.2.1 嵌入式微控制器

微控制器(Micro Controller Unit,MCU)的典型代表是單片機,目前8位或16位的MCU在嵌入式設備中仍然有著極其廣泛的應用。

1.微控制器概述

微控制器誕生于20世紀70年代末,由于其微小的體積和極低的成本,已經廣泛地應用到智能傳感器、無線網絡節點、智能玩具、家用電器、機器人、儀器儀表、汽車電子系統、工業控制單元、辦公自動化設備、金融電子系統、個人信息終端和通信產品中。目前,MCU已成為現代電子系統中最重要的智能化核心器件。

MCU只是一個核心控制單元,在實際應用中通常需要擴展一些外圍電路和外圍芯片以構成具有一定應用功能的MCU系統。由于MCU自身配置的軟/硬件資源有限,要進行MCU系統的開發設計時,必須使用專門的MCU開發系統。目前國內市場上可提供各種類型和型號的MCU開發系統,為MCU的開發應用提供了有力的工具,也使MCU用戶有了很大的選擇余地。

MCU的制造商很多,例如Atmel、Motorola和Philips等國際知名集成芯片制造公司。在采用MCU進行系統設計開發時,需要依據被設計系統功能的復雜程度、性能指標和精度要求,參照現有MCU本身具有的功能、精度、運行速度、存儲器容量、功耗和開發成本等幾個方面綜合進行選擇。一般而言其選擇原則主要應從以下幾方面考慮:

(1)根據所設計任務的復雜程度來決定選擇什么樣的MCU。推薦使用自身帶有Flash存儲器的MCU,由于具有電寫入、電擦除的優點,使得修改程序很方便,可以提高開發速度。

(2)在MCU的運行速度選擇上不要片面追求高速度,還應該看其時鐘頻率和指令集,因為MCU的穩定性、抗干擾性等參數基本上是跟速度成反比的,另外速度快功耗也大。

(3)I/O端口的數量和功能是選用MCU時要考慮的主要因素之一,根據實際需要確定其數量,I/O端口過多不僅會使芯片的體積增大,也會增加成本。

(4)MCU一般內部提供2~3 個定時/計數器,有些定時/計數器還具有輸入捕獲、輸出比較和PWM(脈沖寬度調制)功能。現在不少MCU內部還提供了A/D和D/A轉換器,充分利用這些功能不僅可以簡化軟件設計,而且還能少占用MCU的資源。

(5)常見的MCU串行接口有UART接口、I2C總線接口、SPI接口、USB接口等不同類型,可以根據實際需要選擇不同的MCU芯片。

(6)MCU的工作電壓一般為3.3V和5V,功耗參數主要是指正常模式、空閑模式、掉電模式下的工作電流,選用電池供電的MCU系統要選用電流小的產品,同時要考慮是否要用到掉電模式,如果需要用可選擇有相應功能的MCU芯片。

(7)MCU芯片的封裝一般有DIP(雙列直插式封裝)、PLCC(帶引線的芯片載體)、QFP(四側引腳扁平封裝)、SOP(雙列小外形貼片封裝)等類型,所以可以根據實際需要來進行選擇。

MCU的其他性能因素方面的選擇,還有如中斷源的數量和優先級選擇、工作溫度范圍選擇、有無加電復位功能等方面;另外,還要考慮系統的開發工具、編程器、開發成本、技術支持和服務和產品價格等諸多因素。

下面將選擇介紹一下目前MCU中比較有代表性的8位AT89S52單片機和16位MSP430系列單片機。

2.典型8位單片機簡介

MCS-51系列單片機是在20世紀在80年代由Intel公司推出的一種8位單片機,其片內集成并行I/O口、串行I/O口、16位定時/計數器、RAM、ROM等,最高時鐘頻率為12MHz,采用CISC體系指令系統,三總線結構。由于MCS-51系列單片機不斷推陳出新,基于51系列內核的產品已有幾十個系列、上百種型號。目前廣泛應用的8位單片機是美國Atmel公司生產型號為AT89S52系列單片機,其內部結構及外形引腳與Intel MCS-51系列8位單片機兼容,軟件也是采用Intel MCS-51指令系統。AT89S52系列單片機是一款低功耗、高性能CMOS單片機。

1)性能和特點

(1)片內存儲器包含8 KB的Flash ROM,可在線編程,擦寫次數不小于1000次;另外還具有256 B的片內RAM,內部支持ISP(在線更新程序)功能。

(2)具有可編程的32根I/O端口線(P0、P1、P2和P3端口),內含兩個數據指針DPTR0和DPTRl,地址/數據線復用等功能。

(3)中斷系統是具有8個中斷源,6個中斷向量和2級優先權的中斷結構。

(4)串行通信口是一個全雙工的UART串行口。

(5)兩種低功耗節電工作方式。在空閑方式下,CPU停止工作,RAM和其他片內的部件(如振蕩器、定時/計數器、中斷系統等)繼續工作。此時的電流可降到大約為正常工作方式時的15%。在掉電方式下,所有片內的部件都停止工作,只有片內RAM的內容被保持,這種方式下的電流可降到15 pA以下。

(6)工作模式下主頻為0~33MHz,工作電源電壓為4.0~5.5V。

(7)指令系統中大部分指令為單周期指令,同時還具有布爾處理器的功能。

2)內部結構組成

簡單來講,微控制器是指一個集成在一塊芯片上的完整計算機系統,其內部一般具有CPU、內存、內部和外部總線系統,同時集成了諸如通信接口、定時器、實時時鐘等外圍設備。目前某些高檔次的MCU甚至可以將模擬/數字轉換器、數字/模擬轉換器以及聲音、圖像、網絡等復雜的輸入/輸出系統集成在一塊芯片上。由于MCU具有低廉的價格和優良的功能,所以擁有的品種和數量眾多。AT89S52單片機內部結構原理圖如1-4所示。

圖1-4 AT89S52單片機內部結構原理圖

Atmel公司生產的AT89S系列單片機支持在系統編程(ISP),為單片機程序的開發調試提供了極大的便利。AT89ISP軟件是由Atmel公司開發的用于AT89S系列單片機在線程序下載的免費軟件,它提供了對單片機進行在系統編程、查看和擦除F1ash等功能。

3)AT89ISP軟件的安裝

AT89ISP軟件的安裝簡單,對系統配置的要求較低。安裝完成后,執行下列操作:

(1)連接下載線。將單片機系統板通過Atmel ISP下載線連接到計算機接口,并給單片機系統板通電。

(2)端口設置。單擊AT89ISP工具欄上的端口選擇按鈕,軟件彈出端口選擇對話框。需要根據下載線的連接方式正確選擇接口編號,否則無法正常使用ISP功能。選擇完成后,單擊OK按鈕。

(3)選擇單片機型號。單擊AT89ISP工具欄上選擇器件按鈕,打開器件選擇對話框,單擊AT89文件夾的層疊菜單,在其中找到目標系統中的單片機型號,如AT89S52,單擊OK按鈕。如果計算機、下載線及單片機系統板三者之間連接良好,且單片機系統板供電正常,會有緩存窗口自動彈出,表明計算機與單片機系統板通信良好。

(4)初始化。單擊AT89ISP工具欄上初始化按鈕,初始化單片機系統板。在每次使用AT89ISP時,均需要使用此命令進行初始化。若電纜的連接及軟件設置均正確,則會彈出已經初始化的窗口,表明計算機和單片機系統板已經準備完成,可以向單片機中下載程序。

(5)裝載程序文件。單擊工具欄中的打開按鈕,在打開的文件選擇對話框中選擇需下載的Keil C51編譯生成的.HEX十六進制文件。

(6)下載程序。單擊工具欄中的自動編程按鈕,執行自動編程命令。下載時間由程序大小確定,從幾十秒到幾分鐘不等,下載完成后程序會給出相應的提示。

(7)驗證程序。以上步驟已經成功地將程序下載到單片機中,斷開單片機系統板和下載線的連接,給單片機復位即可看到程序運行的效果。

(8)修改程序。若需要修改C語言程序,則每次修改完程序后都要在Keil C5l中重新編譯,生成新的.HEX文件。需要注意的是每次下載.HEX文件之前都需要重新裝載程序文件,將最新的.HEX文件調入緩沖區中,再執行下載。

另外值得注意的是,AVR系列單片機是Atmel公司于1997年研發出的RISC精簡指令集的高速8位單片機,它全新配置了精簡指令集、速度快,大多數指令僅用1個時鐘周期,比52系列單片單周期指令快12倍;片內程序存儲器采用Flash存儲器,程序保密性高;支持C語音編程,采用CMOS生產工藝,功耗低,3V電源工作下一般只需幾mA電流;還擁有多種低功耗方式,在掉電方式下工作電流小于1 μA。AVR系列單片機的片內資源更為豐富,接口也更為強大,同時由于其價格低等優勢,在很多場合可以替代51系列單片機。

3.典型16位MSP430系列單片機簡介

MSP430系列是由美國TI公司1996年推出的產品,片內具備在線下載調試(JTAG)功能,片上外設十分豐富,具有超低功耗特色,因此常用在各種便攜式的智能儀器儀表等裝置中。下面以常用的MSP430F43X系列為例介紹其性能和特點。

(1)低電壓、超低功耗。MSP430F43X系列單片機的工作電壓范圍為1.8~3.6V,工作電流會因不同的工作模式而不同。例如,CPU在工作電壓為2.2V,頻率為1MHz的正常工作模式下,其工作電流為280μA,待機工作模式下為1.1μA,掉電工作模式下為0.1μA;內部具有16個中斷源,并且可以任意嵌套,使用靈活方便;用中斷請求將CPU喚醒只要6μs,可編制出實時性特別高的源代碼;可將CPU置于省電模式,用中斷方式喚醒程序。

(2)具有強大的處理能力。MSP430系列單片機為16位RISC結構,具有豐富的尋址方式(7種源操作數尋址、4種目的操作數尋址)、簡潔的27條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;高效的查表處理方法;較高的處理速度,在8MHz晶體驅動下,指令周期為125 ns。這些特點可保證編制出高效率的源程序。

(3)系統工作穩定。上電復位后,系統能夠保證晶體振蕩器有足夠的起振及穩定時間,然后可由軟件設置適當的寄存器的控制位來確定最后的系統時鐘頻率。如果程序跑飛,可用“看門狗”將其復位。

(4)方便高效的開發環境。目前主要應用的MSP430F43X系列內部采用Flash型存儲器,具有十分方便的開發調試環境。因為器件片內有JTAG調試接口,還有可電擦寫的Flash存儲器,因此可先將程序下載到Flash內,然后在器件內通過軟件控制程序的運行,由JTAG接口讀取片內信息,以供設計者調試和開發。這種方式只需要一臺PC和一個JTAG調試器,不需要仿真器和編程器。在開發語言方面,可以采用匯編語言或者C語言。

(5)MSP430系列器件均為工業級的,運行環境溫度為?40℃~+85℃。

MSP430系列單片機的各成員都集成了較為豐富的片內外設,其基本結構包括看門狗(WDT)、2個定時器(TimerA和TimerB)、比較器、2個串口(UART0和UART1)、硬件乘法器、液晶驅動器、10位/12位ADC、最多達6×8條I/O口線、基本定時器(Basic Timer)。以上外圍模塊再加上多種存儲器方式就構成了不同型號的MSP430微控制器。MSP430F43X系列單片機內部結構框圖如圖1-5所示。

圖1-5 MSP430F43X系列單片機內部結構框圖

MSP430系列單片機的開發軟件較多,但常用的是IAR公司的集成開發環境,即IAR Embedded Workbench嵌入式工作臺以及調試器C-SPY。下面將進行簡單介紹。

IAR Embedded Workbench為開發不同的目標處理器的項目提供強有力的開發環境,并為每一種目標處理器提供工具。IAR Embedded Workbench使用項目模式來組織應用程序,它有如下一些特點:

(1)可以在Windows環境下運行,分層的項目表示,直觀的用戶界面。

(2)工具與編輯器全集成,全面的超文本幫助。

(3)可以同時編輯匯編語言和C語言源文件,匯編語言程序和C語言程序的句法可用文本格式和顏色加以區別顯示。

(4)具有強有力的搜索和置換命令,而且可以多個文件搜索,從出錯列表直接跳轉到出錯的相關文件的相關語句。

(5)可以設置在出錯語句前標志;圓括號匹配;自動縮進,可以設置自動縮進的空格;每個窗口的多級取消與恢復。

目前MSP430系列的型號已經達到100多種,可以適用于不同的產品開發需要。總之,單片機的最大特點是單片化,體積小,功耗和成本低,非常適合用于進行計算機控制、家用電器、智能裝置、儀器儀表等領域,因此也被稱為微控制器MCU。

1.2.2 嵌入式微處理器

嵌入式微處理器(Embedded Micro Processor,簡稱EMPU或者MPU)是嵌入式系統的核心部件,其內部由32位運算器、控制器、寄存器組和部分存儲器組成。與通用微處理器不同的是:在實際嵌入式應用中,其內部只保留和嵌入式應用緊密相關的功能硬件,去除了其他冗余功能的部分,這樣就能夠以最低的功耗和資源滿足嵌入式應用的特殊要求。

1.概述

嵌入式微處理器系統的功能和標準與通用微處理器基本類似,只是在工作溫度、抗電磁干擾、可靠性等方面專門做了適當的增強。與工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點。主流的嵌入式微處理器芯片有基于ARM(Advanced RISCMachines Limited)、Am186/88、PowerPC、68000、MIPS等系列的產品。具有32位體系結構嵌入式微處理器的性能優勢如下:

1)尋址空間大

在ARM的體系結構里,所有的資源,如存儲器、控制寄存器、I/O端口等都是在有效的地址空間內進行統一編址的,方便程序在不同處理器間的移植。

2)運算和數據處理強

采用了先進的CPU設計理念、多總線接口(哈佛結構)、多級流水線、高速緩存、數據處理增強等技術,這樣使得C、C++、Java等高級語言得到了廣泛的應用空間,幾乎所有的通信協議棧都能在32位CPU中實現。另外,多數的微處理器都包含有DMA控制器,這樣就進一步提高了整個芯片的數據能力。

3)支持操作系統

如果某個系統有多任務的調度、圖形化的人機界面、文件管理系統、網絡協議等需求,那么就必須使用嵌入式操作系統。一般復雜的操作系統在多進程管理中還需要有硬件存儲器保護單元或內存管理單元(MMU)的支持,目前ARM9以上的微處理器均有這些支持,可運行Linux、WinCE和VxWorks等多種嵌入式操作系統。

目前,ARM系列的嵌入式微處理器有ARM7、ARM9、ARM10和ARM11相關產品系列。在ARM體系架構的每個系列微處理器都提供一套特定的配置來滿足設計者對功耗、性能和體積的需求。基于ARM體系架構的微處理器一般是由32位ALU、37個通用寄存器及狀態寄存器、32位桶形移位寄存器、指令譯碼及控制邏輯、指令流水線和數據/地址寄存器等部件組成的。ARM系列微處理器內部結構如圖1-6所示。

下面,以基于ARM9系列由韓國三星公司生產的嵌入式微處理器S3C2410作為實例予以介紹,以便讀者更好地了解MPU。

S3C2410 微處理器是韓國三星電子公司推出的基于ARM920T內核的RISC嵌入式微處理器。該微處理器主要面向便攜式設備以及高性價比、低功耗的應用,內部采用0.18μm CMOS制造工藝和新的總線結構。

圖1-6 ARM系列微處理器內部結構原理圖

ARM920T內核由ARM9TDMI、內存管理單元MMU和高速緩存三部分組成,其中,MMU可以管理虛擬內存,高速緩存由獨立的16 KB地址和16 KB數據高速Cache組成。S3C2410微處理器主要性能如下:

● MCU采用ARM920T核,主頻高達203MHz;

● 32位SDRAM容量16 MB、32 MB、64 MB可選,32位Flash容量4 MB、16 MB可選;

● USB分為主(HOST)、從(SLAVE)兩個接口;

● 有三個UART串行接口;

● 電源輸入+5~+9V,輸出為+3.3V和+1.8V;

● LCD控制器支持STN和TFT形式;

● 具有4路DMA通道;

● 8通道10位ADC接口和觸摸屏控制接口;

● 具有4路PWM和一路內部定時器、看門狗電路;

● 支持MMC和SMC卡;

● 具有117路I/O端口和24路外部中斷端口;

● 芯片采用272引腳FBGA封裝形式。

2.S3C2410微處理器內部結構組成

S3C2410微處理器內部結構主要由ARM920T核和片內外設兩大部分構成。片內外設可具體分為高速外設和低速外設,分別連接在AHB高速總線和APB外設總線。S3C2410微處理器片內外設結構部分如圖1-7所示。

圖1-7 S3C2410微處理器片內外設結構圖

S3C2410微處理器支持七種操作模式(可以由軟件進行配置),它們分別為用戶執行模式(USR)、快速數據傳輸和通道處理模式(FIQ)、通用中斷處理模式(IRQ)、操作系統保護模式(SVC)、操作系統任務模式(SYS)、數據或指令預取失效模式(ABT)和執行未定義指令模式(UND)。對這些操作模式的支持,使得ARM可以支持虛擬存儲器機制,支持多種特權模式,從而使其可以運行多種主流的嵌入式操作系統。

微處理器內部共有37個32位寄存器,其中包含30個通用寄存器,6個狀態寄存器(1個專用于記錄當前狀態,5個備用于記錄狀態切換前的狀態),1個程序計數器PC。針對處理器的七種不同的工作模式,它們都有一組相應的寄存器與之對應使用。

S3C2410內部集成了具有日歷功能的實時時鐘(Real Time Clock,RTC)和鎖相環電路(PLL)的時鐘發生器。其中,RTC給CPU提供精確的當前時刻,它在系統停電的情況下由后備電池供電繼續工作。RTC需要外接一個32.768kHz的石英晶體振蕩器,作為實時時鐘的基準信號源。另外,系統外接的20MHz石英振蕩器通過鎖相環電路產生MPLL作為系統主時鐘,這樣微處理器工作頻率可高達到203MHz(內核電壓增加到2.0V時工作頻率最高可達266MHz)。

S3C2410的存儲管理器提供訪問外部存儲器的所有控制信號,具體為26位地址信號、32位數據信號、8個片選信號,以及讀/寫控制信號等。

S3C2410微處理器內部的中斷控制器總共支持56個中斷源,這些中斷請求可由S3C2410內部功能模塊(如DMA控制器、UART、I2C等)或者外部引腳信號產生。每個中斷源都可以被任意定義快速數據處理模式(FIQ)和通用中斷處理模式(IRQ)方式。

S3C2410具有4個通道的DMA控制器,它們位于系統總線和外設總線之間。DMA的主要優點是可以不通過CPU的中斷來實現數據的傳輸,DMA的運行可以通過軟件或者通過外圍設備的中斷和請求來初始化。每個DMA通道都有4個DMA請求源,通過設置可以從中挑選一個服務。

3.系統的啟動方式

從編程的角度看,S3C2410微處理器可以工作在兩種狀態:一種為ARM工作狀態,此時處理器執行32位的字對齊的ARM指令;另一種為Thumb工作狀態,此時處理器執行16位的、半字對齊的Thumb指令。值得注意的是,ARM微處理器在工作期間,也可在這兩種模式之間切換。

S3C2410微處理器本身具有三種啟動方式,由OM[l:0]引腳選擇:當引腳為00時處理器從NAND Flash啟動;為01時從16位寬的ROM啟動;為10時從32位寬的ROM啟動。用戶可以將Bootloader代碼和操作系統鏡像放在外部的NAND Flash中,采用NAND Flash啟動方式。在這種情況下,由于S3C2410處理器在片內集成了一個4 KB的內部SRAM,微處理器上電復位時,通過內置的控制器將位于NAND Flash前4 KB位置的Bootloader代碼自動加載到片內的4 KB boot SRAM中,并開始運行Bootloader程序,將操作系統的鏡像加載到SDRAM。啟動完畢后,4 KB boot SRAM就可以用于其他用途。

1.2.3 嵌入式DSP處理器

數字信號處理器(Digital Signal Processor,DSP)是專門用于信號處理方面的處理器。DSP在系統結構和指令算法方面進行了特殊設計,編譯效率較高,指令執行速度也很快。DSP的理論算法在20世紀70年代就已經出現,在1982年世界上誕生了首枚DSP芯片。

目前DSP處理器已得到了快速的發展和應用,特別是在運算量較大的智能化系統中。比如在需要進行數字濾波、FFT、頻譜分析等運算的各種儀器上,DSP中就得到了大規模的應用。另外,DSP還應用于各種帶有智能邏輯的消費產品、生物信息識別終端、帶加密算法的鍵盤、實時語音壓縮和解壓系統、虛擬現實顯示等的信息處理方面。某些對實時性、計算強度要求較高的場合也使用DSP。隨著DSP的運算速度進一步提高,應用領域也從上述范圍擴大到了通信和計算機方面。

DSP處理器經過單片化、EMC改造、增加片上外設成為嵌入式DSP處理器,如TI公司的TMS320C2000/C5000/6000等屬于此范疇。

1.2.4 嵌入式片上系統

嵌入式片上系統(System On Chip,SOC)就是一種電路系統。隨著電子設計自動化(EDA)的推廣和超大規模集成電路(VLSI)設計的普及化及半導體工藝的迅速發展,在一個硅片上實現一個更為復雜系統的時代已經來臨。各種通用處理器內核將作為SOC設計公司的標準庫,和許多其他嵌入式系統外設一樣,成為VLSI設計中標準的器件。采用標準的超高速集成電路硬件描述語言(VHDL)等語言描述,存儲在器件庫中。用戶只須定義出其整個應用系統,仿真通過后就可以將設計圖交給半導體工廠制作樣品。這樣除個別無法集成的器件以外,整個嵌入式系統均可集成到一塊或幾塊芯片中去,應用系統電路板將變得很簡潔,對于減小體積和功耗、提高可靠性非常有利。SOC可分為通用和專用兩類。

SOC內部由許多功能模塊組成,并將它們集成做在一個芯片上。例如,將微處理器核心電路再加上一些通信接口單元,如通用串行端口(USB)、TCP/IP通信單元、GPRS通信接口、GSM通信接口、IEEE1394、藍牙模塊接口等集成在一起,做在一個片上即可構成SOC系統。

SOC是追求產品系統最大包容的集成器件,最大的特點是成功實現了軟、硬件無縫結合,可以直接在處理器片內嵌入操作系統的代碼模塊。SOC可以運用VHDL等硬件描述語言進行系統設計,不像傳統的硬件系統設計要繪制龐大、復雜的電路板,再對元器件進行逐一焊接。而是只需要使用精確的編程語言,綜合時序設計可直接在器件庫中調用各種通用處理器的標準,然后通過仿真之后就可以直接交付芯片廠商進行生產。

目前,SOC在聲音、圖像、影視、網絡及系統邏輯等應用領域中發揮了重要作用。采用SOC所具有的其他好處還有很多,比如利用改變內部工作電壓,降低了芯片功耗;減少了芯片對外的引腳數,簡化制造過程;減少了外圍驅動接口單元及電路板之間的信號傳遞,可以加快微處理器數據處理的速度;內嵌的線路可以避免外部電路板在信號傳遞時所造成的系統雜亂信息;減小了體積和功耗,而且提高了系統的可靠性和設計生產效率等優點。

主站蜘蛛池模板: 玉树县| 康定县| 齐河县| 阿坝县| 鄂温| 双桥区| 资溪县| 河间市| 资兴市| 探索| 太湖县| 田阳县| 睢宁县| 贵阳市| 壶关县| 桐柏县| 麻栗坡县| 江山市| 新津县| 宜都市| 安岳县| 阜康市| 乡宁县| 东乌珠穆沁旗| 汕尾市| 丹寨县| 恭城| 喀喇沁旗| 义乌市| 清水河县| 密山市| 平山县| 三原县| 惠来县| 尉犁县| 富宁县| 那坡县| 安义县| 鄂尔多斯市| 晋州市| 新邵县|