微芯單片機: 微芯推出 數字交錯功率因數校正參考設計點評
  • 6樓 Re: 微芯單片機: 微芯推出 數字交錯功率因數校正參考設計
  • <1>IAP(In Application Program)在應用編程 ISP(In System Program)在系統編程根本區別: IAP: 動態的,CPU CORE已經運行,自己從外面讀數據,完成寫入自身FLASH IAP: 靜態的,實質上是由外部實現串行編程寫入待.<2>答:具備在應用中編程IAP功能的單片機,其程序存儲器必須是可以重復燒寫編程的版本(比如FLASH)。可以用于具備遠程遙控軟件版本升級或者參數修改的產品項目之中(比如遠程抄表、用戶端電話計費等系統的遠程費率參數和算法程序修改);也可以應用于具備自編程功能(免用微機和燒寫器)的單片機學習機、單片機單板機、實驗板、演示板、教學模塊等各種學習和實驗工具之中。對于處在同一個存儲器空間的FLASH程序存儲器,不能同時扮演“被燒寫存儲器”和“取指令存儲器”的雙重角色。為了解決這個矛盾,不同廠家的單片機采用了不同的解決方案,比如:

      ①  可以將FLASH程序存儲器分成地址有映射關系的兩個區,分別由各自的電荷泵提供燒寫電壓。當燒寫一個區時,該區的電荷泵工作,同時執行存放在另一個區的指令。例如,SST(Silicon Storage Technology)公司利用他的SuperFlash技術研制的FlashFlex51單片機系列,各個型號片內分別帶有20KB、36KB或68KB可多次編程的程序存儲器。該存儲器又分為主存儲區和次存儲區。各個型號的主存儲區分別為16KB、32KB或64KB,次存儲區則統一為4KB。

      ②  可以將單片機的程序存儲器地址空間分為ROM區和FLASH區,ROM區在出廠之前就已經固化有燒寫專用程序,FLASH區作用戶程序存放區,這樣一來,即使在燒寫FLASH的同時,也不會影響對于ROM中程序的執行。MOTOROLA公司推出的MC68HC908系列單片機中采用的就是這種解決方案。

      ③  PIC16F87X系列單片機中,采用了不同的解決方案。FLASH程序存儲器并不分區,在對其進行燒寫并且電源自動切換到電荷泵供電時,CPU自動停頓而等待。在一個單元燒寫操作完畢,FLASH工作電壓自動切換到正常值時,CPU才繼續執行FLASH中的燒寫專用程序或用戶程序。

      ④  在數據存儲器RAM和程序存儲器FLASH兩種存儲器統一編址的單片機中,還可以采用的另一種方案是,在準備修改FLASH區中的用戶程序之前,先把燒寫專用程序拷貝到RAM區,然后跳轉到RAM區去執行該程序,實現對FLASH程序存儲器的燒寫操作。在燒寫完成之后再跳回到FLASH存儲器執行正常的用戶程序。微芯公司新近推出的高性能PIC18C601/801單片機采用的就是這種解決方案。MOTOROLA公司推出的MC68HC908系列單片機的某些型號,也可以采用這種解決方案。SST89C54/58(簡稱89C54/58)是美國SST公司推出的多用途51系列單片機,片內集成了20 kB/36 kB的SuperFlashE'PROM程序存儲器,分為BLOCK0(16kB/32kB)和BLOCKl(4kB)兩塊。其中,BLOCKl可以映射(Mapping)到64kB存儲空間的最高端或最低端,而且,對于程序計數器來說可以是不可見的
  • 作者:123 2009-9-9 20:47:00
  • 3樓 Re: 微芯單片機: 微芯推出 數字交錯功率因數校正參考設計
  • 八位單片機由于內部構造簡單,體積小,成本低廉,在一些較簡單的控制器中應用很廣。即便到了本世紀,在單片機應用中,仍占有相當的份額。由于八位單片機種類繁多,本文僅將常用的幾種在性能上作一個簡單的比較,供讀者在使用時作參考。
    1. 51系列
      應用最廣泛的八位單片機首推Intel的51系列,由于產品硬件結構合理,指令系統規范,加之生產歷史“悠久”,有先入為主的優勢。世界有許多著名的芯片公司都購買了51芯片的核心專利技術,并在其基礎上進行性能上的擴充,使得芯片得到進一步的完善,形成了一個龐大的體系,直到現在仍在不斷翻新,把單片機世界炒得沸沸揚揚。有人推測,51芯片可能最終形成事實上的標準MCU芯片。  51系列優點之一是它從內部的硬件到軟件有一套完整的按位操作系統,稱作位處理器,或布爾處理器。它的處理對象不是字或字節而是位。它不光能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來得心應手。雖然其他種類的單片機也具有位處理功能,但能進行位邏輯運算的實屬少見。51系列在片內RAM區間還特別開辟了一個雙重功能的地址區間,十六個字節,單元地址20H~2FH,它既可作字節處理,也可作位處理(作位處理時,合128個位,相應位地址為00H~7FH),使用極為靈活。這一功能無疑給使用者提供了極大的方便,因為一個較復雜的程序在運行過程中會遇到很多分支,因而需建立很多標志位,在運行過程中,需要對有關的標志位進行置位、清零或檢測,以確定程序的運行方向。而實施這一處理(包括前面所有的位功能),只需用一條位操作指令即可。
      例1:如對21H的第0位(相應位地址為08H)置位,只需用一條位指令,
      SETB08H
      對周圍的其他位不會產生影響。
      有的單片機并不能直接對RAM單元中的位進行操作,如AVR系列單片機中,若想對RAM中的某位置位時,必須通過狀態寄存器SREG的T位進行中轉。
      例2:如對RAM中的R0寄存器的第4位置位,則
      BSET6 ;狀態寄存器T置位
      BLD R0, 4 ;將T位復制到R0的第4位
      顯然,后者比前者要復雜。
      51系列的另一個優點是乘法和除法指令,這給編程也帶來了便利。八位除以八位的除法指令,商為八位,精度嫌不夠,用得不多。而八位乘八位的乘法指令,其積為十六位,精度還是能滿足要求的,用的較多。作乘法時,只需一條指令就行了,即 MULAB(兩個乘數分別在累加器A和寄存器B中。積的低位字節在累加器A中,高位字節在寄存器B中)。很多的八位單片機都不具備乘法功能,作乘法時還得編上一段子程序調用,十分不便。
      在51系列中,還有一條二進制-十進制調整指令 DA,能將二進制變為BCD碼,這對于十進制的計量十分方便。而在其他的單片機中,則也需調用專用的子程序才行。
      Intel公司51系列的典型產品是8051,片內有4K字節的一次性程序存儲器(OTP)。Atmel公司就將其改為電可改寫的閃速存儲器(Flash),容許改寫1000次以上,這給編程和調試帶來極大的便利,其產品AT89C51、AT89C52 ……等成為了當今最流行的八位單片機。

      51系列的I/O腳的設置和使用非常簡單,當該腳作輸入腳使用時,只須將該腳設置為高電平(復位時,各 I/O口均置高電平)。當該腳作輸出腳使時,則為高電平或低電平均可。低電平時,吸入電流可?0mA,具有一定的驅動能力;而為高電平時,輸出電流僅數十 μA甚至更小(電流實際上是由腳的上拉電流形成的),基本上沒有驅動能力。其原因是高電平時該腳也同時作輸入腳使用,而輸入腳必須具有高的輸入阻抗,因而上拉的電流必須很小才行。作輸出腳使用,欲進行高電平驅動時,得利用外電路來實現,I/O腳不通,電流經R驅動LED發光;低電平時,I/O腳導通,電流由該腳入地,LED滅(I/O腳導通時對地的電壓降小于1V,LED的域值1.5~1.8V)。
      51系列I/O腳使用簡單,但高電平時無輸出能力,可謂有利有弊。故其他系列的單片機(如PIC系列、AVR系列等)對I/O口進行了改進,增加了方向寄存器以確定輸入或輸出,但使用也變得復雜。
      一些簡裝的51產品也相應出現,如Atmel公司的AT89C1051、AT89C2051、AT89C4051等(閃速存儲器分別為1K、2K、4K等,但不能外接數據存儲器),指令系統與AT89C51完全兼容,但引腳均為20腳,不光體積小,而且價格低廉,這使得其他的公司競相仿照。
      不過,原51系列也有許多值得改進之處,如運行速度過慢等。當晶振頻率為12MHz時,機器周期達1μs,顯然適應不了現代高速運行的需要。華邦公司(Winbond)生產的產品型號為W77系列和W78系列,W78系列與AT89C系列完全兼容。 W77系列為增強型,對原有的8051的時序作了改進,每個機器周期從12個時鐘周期改為4個周期,使速度提高了三倍,同時,晶振頻率最高可達 40MHz。W77系列還增加了看門狗WatchDog、兩組UART、兩組DPTR數據指針、ISP等多種功能。
      特別是雙數據指針,能給編程帶來很大的便利。在51系列中,數據指針DPTR是片內與片外的數據存儲器打交道的主要途徑(由片外數據存儲器讀入片內累加器A或由片內累加器A 寫入片外數據存儲器),也是程序存儲器與累加器A之間的數據傳送的必由之路。由于頻繁的數據交換,特別是數據塊的搬運和比較,數據指針非常吃緊,它需要不斷地實施現場保護與還原,不光編程變得復雜,而且運行速度也減慢。而當采用兩個數據指針時,可以各負其責,互不相擾,輕松地完成上述過程。兩個數據指針的選取取決于特殊功能寄存器AUXR1的第D0位DPS。當DPS為0時,選中數據指針DPTR0(復位時DPS也為0);DPS為1時,選中數據指針 DPTR1。DPS位不能位尋址,故不能進行布爾操作,但由于AUXR1的D1位被強制為邏輯“0”,不可能發生由D0位向D1位進位之可能,因而可以通過對AUXR1進行增1來使D0位由0變為1或由1變為0,從而達到雙數據指針的快速切換的目的,如:
      例3:
      MOVAUXR1,#0 ; DPS為0,DPTR0有效
      ……
      INC AUXR1 ; DPS為1,DPTR1有效
      ……
      INC AUXR1 ; DPS為0,DPTR0有效
      ……
      ISP功能能實現在系統可編程,可以省去通用的編程器,單片機在用戶板上即可下載和燒錄用戶程序,而無需將單片機從生產好的產品上取下。未定型的程序還可以邊生產邊完善,加快了產品的開發速度,減少了新產品因軟件缺陷帶來的風險。由于可以將程序下載并觀看運行結果,故也可以不用仿真器。
      單片機的提速運行、雙數據指針及ISP功能并非是W77系列所特有的,一些新的型號的51系列產品大都有該功能,如Philips的51LPC系列、AT89系列中的某些型號、STC89C系列等等。有的單片機還附有A/D、D/A轉換、片內EEPROM數據存儲器、PWM輸出、I2C總線、上電復位檢測、欠壓復位檢測等等,這些新系列的單片機,它們都兼容8051的指令系統。增強功能的實現,大都是由片內新增的特殊功能寄存器來進行設置,這些寄存器被安排在片內特殊功能寄存器區間(80~FFH)的預留地址上。
      比較有代表性的產品還有STC89C51RC、C8051F331/330等等。可以這么說,新的51產品幾乎可以涵蓋所有新的功能。由于新型號的芯片種類太多,此處不可能一一列舉,讀者可根據使用的需求查閱相關的資料.
    2.PIC系列
      PIC單片機系列是美國微芯公司(Microship)的產品,是當前市場份額增長最快的單片機之一。CPU采用RISC結構,分別有33、35、58條指令(視單片機的級別而定),屬精簡指令集。而51系列有111條指令,AVR單片機有118 條指令,都比前者復雜。采用Harvard雙總線結構,運行速度快(指令周期約160~200ns),它能使程序存儲器的訪問和數據存儲器的訪問并行處理,這種指令流水線結構,在一個周期內完成兩部分工作,一是執行指令,二是從程序存儲器取出下一條指令,這樣總的看來每條指令只需一個周期(個別除外),這也是高效率運行的原因之一。此外,它還具有低工作電壓、低功耗、驅動能力強等特點。PIC系列單片機共分三個級別,即基本級、中級、高級。其中又以中級的PIC16F873(A)、PIC16F877 (A) 用的最多,本文以這兩種單片機為例進行說明。這兩種芯片除了引出腳不同外(PIC16F873(A)為28腳的PDIP或SOIC封裝;PIC16F877(A)為40腳的PDIP或44腳的PLCC/QFP封裝),其他的差別并不
  • 作者:dsfa 2009-9-9 18:19:00
首頁 | 前頁 | 后頁 | 尾頁分頁 1/1 [1]

點評
字數0
姓名
  • ·尊重網上道德,遵守中華人民共和國的各項有關法律法規 ·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任 ·本站管理人員有權保留或刪除其管轄留言中的任意內容 ·本站有權在網站內轉載或引用您的評論 ·參與本評論即表明您已經閱讀并接受上述條款