LG Optimus 2X P990 全球首部雙核心智能手機:
LG (樂金) 於 2011 年 03月 11日推出新全球首部雙核心智能手機 Optimus 2X,Optimus 2X內置 1GHz NVIDIA Tegra 2 雙核心處理器,採用 Android 2.2 作業系統,還提供未來可升級到 Android 2.3 版本。配備4吋 1670萬色全觸控 LCD 屏幕,解像度高達 480x800像素,特別是螢幕就採用了高强度耐磨玻璃 Gorilla ,提供防刮、耐摔及耐磨的全面保護。手機內建 800 萬像素鏡頭,支援人面追蹤和微距拍攝,而且支援 8X 數碼變焦、防手震功能和多種拍攝模式,同時備有 130 萬像素前置鏡頭,並支援內置的「 Mirror 自拍 App 」進行視像通話。
LG Optimus 2X 內置 NVIDIA Tegra 2 1GHz 雙核心處理器,這顆 Tegra 2 處理器搭載兩顆 Cortex A9 處理器時脈高達 1 Ghz,內含 ULP GeForce 圖像處理器支援 Full HD 1080p 影片解碼 H.264,VC-1 AP,MPEG2,MPEG-4,DivX 4/5,XviD HT,H.263,Theora,VP8,WMV,Sorenson Spark,Real Video,VP6,每顆各有 32KB 的 L1 Cache,1MB 的 L2 Cache。可同時開啟並處理多個應用程式,由於是雙核心處理器,網頁瀏覽速度比一般手機快,不論欣賞網頁中的 Flash 串流影片或 Flash 遊戲,都感受到速度。手機支持高清短片拍攝,亦內置 HDMI 高清畫面作同步輸出功能,隨時隨地欣賞或分享手機內容。
LG Optimus 2X 可自訂多達7頁手機主頁及資料夾分類 / 自訂水平, 垂直 及列表應用程式頁面。Optimus 2X 雙核心處理器具備與GeForce 同級的圖像處理能力,玩 3D 遊戲時畫面更順暢快速。透過 Android Market,你可下載更多更新的遊戲。還配備 DLNA 無線傳輸技術,無需連接任何數據線即可連接其他同樣支援 DLNA 的數碼電子產品分享影片、照片或音樂檔案。
品牌型號:LG Optimus 2X P990
系統:WCDMA 雙頻、GSM 四頻
上下載速度:5.76Mbps / 7.2Mbps
屏幕:4.0英吋 480×800 解像度 1600萬色 TFT LCD屏幕 + 電容式觸控屏幕
處理器:NVIDIA Tegra2 1GHz 雙核處理器
作業系統:Android OS 2.2 (可升級至 Android 2.3 版本)
無線網絡:802.11 b/g/n
藍牙:2.1 + A2DP + OPP
GPS功能:GPS / A-GPS
收音機:無
TV功能:無
其他功能:支援 1080P 全高清影片播放 (1080p @ 24fps / 720p @ 30fps)、DLNA、光源感應器、距離感應器、Flash 網頁支援
鍵盤:無
鏡頭:800萬像素 CMOS 自動對焦鏡頭、8X數碼變焦 + 130 萬像素視訊鏡頭 + LED燈
內置記憶容量:512MB RAM + 8GB內置用戶記憶體
可擴充記憶:MicroSD 最高32GB
電池:Li-ion 3.7V 1,500mAh (FL-53HN)
I/O介面:microUSB插座、HDMI-D插座、3.5mm 耳機插孔
通話時間:最長480分鐘 (GSM) / 最長380分鐘 (3G)
待機時間:最長380小時 (GSM) / 最長480小時 (3G)
顏色:啡色
機身設計:直身手機
機身尺寸:123.9 × 63.2 × 10.9 mm
重量:139g
日期:2011年03月11日
參考售價:港幣4,980元
工作室是一個可以化上一整天的地方,自由自在、無憂無慮、無拘無束、天馬行空、享受片刻、輕輕鬆鬆、妙想天開、創造理想、Do It Yourself、DIY、DIYer、Maker 。
網頁
▼
2011年3月31日 星期四
2011年3月30日 星期三
Samsung E1252 雙卡雙待手機
Samsung E1252 雙卡雙待手機:
Samsung (三星) 於 2011年 02月 08日推出 E1252 雙卡雙待手機,配備 2吋 26萬色及128x160 解像度TFT彩色屏幕,Samsung E1252 機身纖巧,體積只有 112.7 x 46.65 x 13.9 mm,屏幕瀏覽主選單輕易,可以更舒適的閱讀長篇簡訊文字。
Samsung E1252 的特響揚聲器,讓用戶即使在嘈雜環境亦不會錯過任何來電。此外,Samsung E1252 機身纖巧,體積只有 112.7 x 46.65 x 13.9 mm,卻配備支援 11小時通話時間及 620小時備用時間的高容量電池,並可儲存大量聯絡人資料及短訊訊息,使用戶可隨時與任何親友,以至龐大客戶群及業務夥伴,保持無間通訊,同時亦可保留所有重要的個人訊息。
Samsung E1252 特設 SIM 卡切換快捷鍵,用戶可於一部手機內同時安裝兩張不同的 SIM 卡,側邊設有快速切換鍵,方便經常出外旅行或穿梭中港兩地的人士使用。用戶亦可把一個號碼為親友而設,另一號碼則為工作夥伴而設,又或是把兩個號碼分配作不同的朋友群組。雙卡模式方便用戶管理 SIM 卡,用戶可把公務與私人電話分開計算,盡享不同網絡供應商的不同收費優惠,同時讓手機可享用不同網絡供應商的覆蓋優勢,讓溝通變得更有效率。此外,個人可自訂主網路切換時間,只要時間一到,手機會自動切換到您所設定的主網路,就像同時擁有兩支手機隨身待命,方便實用!
Samsung E1252 配備 FM 收音機功能,可隨時收聽最新的新聞或音樂等資訊,並能支援自動搜尋電台,同時儲存可用電台,可設定收聽電台節目,不怕錯過任何電台節目。內建手電筒功能,可作照明用途。但其他的功能,如無線網絡、藍牙、GPS 及鏡頭等等功能都欠逢。
品牌型號:Samsung E1252
系統:GSM 雙頻
上下載速度:GPRS
屏幕:2.0英吋 128×160 解像度 26.2萬色 TFT LCD屏幕
處理器:未有資料
作業系統:未有資料
無線網絡:無
藍牙:無
GPS功能:無
收音機:FM
TV功能:無
其他功能:T9 輸入法、手電筒、雙卡雙待
鍵盤:數字鍵盤
鏡頭:無
內置記憶容量:5.2MB
可擴充記憶:無
電池:Li-ion 3.7V 1,000mAh
I/O介面:非標準USB插座
通話時間:最長600分鐘
待機時間:最長800小時
顏色:黑色 / 白色
機身設計:直身手機
機身尺寸:112.7 × 46.65 × 13.9 mm
重量:76.7g
日期:2011年02月08日
參考售價:港幣450元
Samsung (三星) 於 2011年 02月 08日推出 E1252 雙卡雙待手機,配備 2吋 26萬色及128x160 解像度TFT彩色屏幕,Samsung E1252 機身纖巧,體積只有 112.7 x 46.65 x 13.9 mm,屏幕瀏覽主選單輕易,可以更舒適的閱讀長篇簡訊文字。
Samsung E1252 的特響揚聲器,讓用戶即使在嘈雜環境亦不會錯過任何來電。此外,Samsung E1252 機身纖巧,體積只有 112.7 x 46.65 x 13.9 mm,卻配備支援 11小時通話時間及 620小時備用時間的高容量電池,並可儲存大量聯絡人資料及短訊訊息,使用戶可隨時與任何親友,以至龐大客戶群及業務夥伴,保持無間通訊,同時亦可保留所有重要的個人訊息。
Samsung E1252 特設 SIM 卡切換快捷鍵,用戶可於一部手機內同時安裝兩張不同的 SIM 卡,側邊設有快速切換鍵,方便經常出外旅行或穿梭中港兩地的人士使用。用戶亦可把一個號碼為親友而設,另一號碼則為工作夥伴而設,又或是把兩個號碼分配作不同的朋友群組。雙卡模式方便用戶管理 SIM 卡,用戶可把公務與私人電話分開計算,盡享不同網絡供應商的不同收費優惠,同時讓手機可享用不同網絡供應商的覆蓋優勢,讓溝通變得更有效率。此外,個人可自訂主網路切換時間,只要時間一到,手機會自動切換到您所設定的主網路,就像同時擁有兩支手機隨身待命,方便實用!
Samsung E1252 配備 FM 收音機功能,可隨時收聽最新的新聞或音樂等資訊,並能支援自動搜尋電台,同時儲存可用電台,可設定收聽電台節目,不怕錯過任何電台節目。內建手電筒功能,可作照明用途。但其他的功能,如無線網絡、藍牙、GPS 及鏡頭等等功能都欠逢。
品牌型號:Samsung E1252
系統:GSM 雙頻
上下載速度:GPRS
屏幕:2.0英吋 128×160 解像度 26.2萬色 TFT LCD屏幕
處理器:未有資料
作業系統:未有資料
無線網絡:無
藍牙:無
GPS功能:無
收音機:FM
TV功能:無
其他功能:T9 輸入法、手電筒、雙卡雙待
鍵盤:數字鍵盤
鏡頭:無
內置記憶容量:5.2MB
可擴充記憶:無
電池:Li-ion 3.7V 1,000mAh
I/O介面:非標準USB插座
通話時間:最長600分鐘
待機時間:最長800小時
顏色:黑色 / 白色
機身設計:直身手機
機身尺寸:112.7 × 46.65 × 13.9 mm
重量:76.7g
日期:2011年02月08日
參考售價:港幣450元
2011年3月29日 星期二
DIY - PIC:MPLAB C18 編譯器的數據類型和限制 (四十七)
DIY - PIC:MPLAB C18 編譯器的數據類型和限制 (四十七) :
MPLAB C18 編譯器支持標準 ANSI 定義的整數類型。該範圍的標準整數類型如下圖表。另外,MPLAB C18 還支持 24 位整型 short 長整型(或長的短整數)。
▼整數數據類型大小和限制:
32位浮點類型於 MPLAB C18 中使用任何的雙重或浮動數據類型。浮點類型的範圍如下圖表。
▼浮點數據類型大小和限制:
MPLAB C18 的格式浮點數是一種改良形式的 IEEE754 格式。MPLAB C18 的格式和 IEEE754 格式之間的差額,由一個旋轉的前九位的代表性。將轉換一個循環左移從 IEEE754 格式的 MPLAB C18 的格式。右旋轉將轉換從 MPLAB C18 的格式的 IEEE754格式。下圖表比較了兩種格式。
▼MPLAB C18與IEEE 754格式的浮點比較:
MPLAB C18 編譯器支持標準 ANSI 定義的整數類型。該範圍的標準整數類型如下圖表。另外,MPLAB C18 還支持 24 位整型 short 長整型(或長的短整數)。
▼整數數據類型大小和限制:
32位浮點類型於 MPLAB C18 中使用任何的雙重或浮動數據類型。浮點類型的範圍如下圖表。
▼浮點數據類型大小和限制:
類型 | 位 | 最小值 | 最大值 | 最小標準化 | 最大標準化 |
float | 32 | -126 | 128 | 2–126 ≈ 1.17549435e - 38 | 2128 * (2-2–15) ≈ 6.80564693e + 38 |
double | 32 | -126 | 128 | 2–126 ≈ 1.17549435e - 38 | 2128 * (2-2–15) ≈ 6.80564693e + 38 |
MPLAB C18 的格式浮點數是一種改良形式的 IEEE754 格式。MPLAB C18 的格式和 IEEE754 格式之間的差額,由一個旋轉的前九位的代表性。將轉換一個循環左移從 IEEE754 格式的 MPLAB C18 的格式。右旋轉將轉換從 MPLAB C18 的格式的 IEEE754格式。下圖表比較了兩種格式。
▼MPLAB C18與IEEE 754格式的浮點比較:
標準 | 指數字節 | Byte 0 | Byte 1 | Byte 2 |
IEEE 754 | se0e1e2e3e4e5e6 | e7ddd dddd | dddd dddd | dddd dddd |
MPLAB C18 | e0e1e2e3e4e5e6e7 | sddd dddd | dddd dddd | dddd dddd |
Legend: s = sign bit d = mantissa e = exponent |
2011年3月28日 星期一
DIY - PIC: PIC18F4550 A/D 程式 (四十六)
DIY - PIC: PIC18F4550 A/D 程式 (四十六) :
為了簡化A/D 程式,程式使用了頭文件 () ,adc.h 包函 OpenADC (設定) 、ConvertADC (轉換) 、 BusyADC (狀態) 及 ReadADC (讀取) 等等,只需要呼叫以上的副程式。讀取數值後,將數值換算出真正的數值,數值資料輸出到 LCD 1602 作出顯示。數值資料包括A/D 轉換及計算出電壓數值,LED 閃動作為程式偵測作用。
主程式:
為了簡化A/D 程式,程式使用了頭文件 (
▲ PIC18F4550 ADC 流程圖 |
主程式:
void main(void) { // 1234567890123456 char LCD_name[] ="BWS A/D AN0 v1 "; char LCD_name2[]=" "; int i; unsigned int timeout=0; char data; // Variables for ADC float adc0_volt; unsigned int adc0_dec; unsigned int adc0_volt1; unsigned int adc0_volt2; char Buf[17]; //ADCON0 = 0x00; // Disable the AD converter //ADCON1 = 0x0F; // Set all ports to digital TRISA = 0b00000001; // Setup RA0=Input RA1=Output TRISB = 0b00100000; // Setup RB5=Input // Initialise LCD OpenXLCD(FOUR_BIT&LINES_5X7); // Init the LCD Display while(BusyXLCD()); WriteCmdXLCD(BLINK_OFF & CURSOR_OFF ); while(BusyXLCD()); stdout = _H_USER; // Redirect I/O to LCD //Delay10KTCYx(24); // 10,000x24x1/12us = 20ms LcdSetLine1(); // Put cursor on start of line 1 putsXLCD(LCD_name); // Display text OpenADC(ADC_FOSC_32 & // A/D clock source set to 32Tosc ADC_RIGHT_JUST & // ADRESH:ADRESL from roght ADC_20_TAD, // A/D Acquisition time: 20TAD ADC_CH0 & // Analog Channel0 AN0 ADC_INT_OFF & // ADC Interrupt off ADC_VREFPLUS_VDD & // Vref+ = VDD ADC_VREFMINUS_VSS, // Vref- = VSS 0b1110 // ADCON0 = 7 = 00001110=AN0 Analog ); while(1) { //key = PORTBbits.RB5; ConvertADC(); // Start an A/D Conversion while(BusyADC()); // Wait for Conversion Finished adc0_dec=ReadADC(); // Read A/D Result // Convert Floating Point to Decimal adc0_volt=0.00488758553*adc0_dec; adc0_volt1=(unsigned int)adc0_volt; adc0_volt2=(unsigned int)((adc0_volt-adc0_volt1)*10); sprintf(Buf,"D=%u V=%u.%uV ",adc0_dec,adc0_volt1,adc0_volt2); LcdSetLine2(); // Put cursor on start of line 2 putsXLCD(Buf); // Display Content LATAbits.LATA1 = 1; // RA0=1 LED=ON Scope=1 Delay10KTCYx(240); // 10,000 x 1 x (4 x 0.05us) = 2ms // Scope = 2ms LATAbits.LATA1 = 0; // RA0=0 LED=OFF Scope=50ms } // End While } |
▲ A/D 電路運作中 |
▲ 0×0.00488V = 0.0V |
▲ 440×0.00488V = 2.1V |
▲ 1020×0.00488V = 4.9V |
▲ 610×0.00488V = 2.9V 與數字萬用錶 3.00V比較 |
2011年3月27日 星期日
DIY - PIC: MPLAB C18 A/D 函數庫程式 (四十五)
DIY - PIC: MPLAB C18 A/D 函數庫程式 (四十五) :
Microchip C18 有內置支持 PIC18F4550 A/D 類比數位轉換器函數庫模塊 (adc.h),衹需要用包括 adc 頭文件 () 。然後再呼叫不同的功能,便可控制 A/D 類比數位轉換器。
功能 –BusyADC (A/D轉換器是否正在進行轉換?)
原型:char BusyADC( void ) ;
說明:該函數表明 A/D 外設是否正在進行轉換。
返回值:如果 A/D 外設正在進行轉換,為1;如果 A/D 外設不在進行轉換,為 0。
檔案名:adcbusy.c
功能 –CloseADC (禁止 A/D 轉換器)
原型:void CloseADC( void ) ;
說明:該函數禁止 A/D 轉換器和 A/D 中斷機制。
檔案名:adcclose.c
功能 –ConvertADC (啟動 A/D 轉換過程)
原型:void ConvertADC( void ) ;
說明:該函數啟動 A/D 轉換。可用函數 BusyADC() 來檢測轉換是否完成。
檔案名:adcconv.c
功能 –OpenADC (配置 A/D 轉換器)
原型:void OpenADC( unsigned char config, unsigned char config2 );
參數:config
說明:該函數把與 A/D 相關的寄存器重定到 POR 狀態,然後配置時鐘、結果格式、參考電壓、埠和通道。
檔案名:adcopen.c
範例:OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_1ANA_0REF, ADC_CH0 & ADC_INT_OFF ) ;
功能 –ReadADC (讀 取A/D 轉換的結果)
原型:int ReadADC( void ) ;
說明:該函數讀取 A/D 轉換的16 位結果。
返回值:該函數返回 A/D 轉換的 16 位元有符號結果。根據 A/D 轉換器的配置( 例如,使用函數 OpenADC()),結果會包含在 16 位結果的低有效位或高有效位中。
檔案名:adcread.c
功能 –SetChanADC (選擇用作A/D 轉換器輸入的通道)
原型:void SetChanADC( unsigned char channel ) ;
參數:channel
說明:選擇用作 A/D 轉換器輸入的引腳。
檔案名:adcsetch.c
範例:SetChanADC( ADC_CH0 ) ;
使用A/D 轉換器函數的例子:
Microchip C18 有內置支持 PIC18F4550 A/D 類比數位轉換器函數庫模塊 (adc.h),衹需要用包括 adc 頭文件 (
功能 –BusyADC (A/D轉換器是否正在進行轉換?)
原型:char BusyADC( void ) ;
說明:該函數表明 A/D 外設是否正在進行轉換。
返回值:如果 A/D 外設正在進行轉換,為1;如果 A/D 外設不在進行轉換,為 0。
檔案名:adcbusy.c
功能 –CloseADC (禁止 A/D 轉換器)
原型:void CloseADC( void ) ;
說明:該函數禁止 A/D 轉換器和 A/D 中斷機制。
檔案名:adcclose.c
功能 –ConvertADC (啟動 A/D 轉換過程)
原型:void ConvertADC( void ) ;
說明:該函數啟動 A/D 轉換。可用函數 BusyADC() 來檢測轉換是否完成。
檔案名:adcconv.c
功能 –OpenADC (配置 A/D 轉換器)
原型:void OpenADC( unsigned char config, unsigned char config2 );
參數:config
說明:該函數把與 A/D 相關的寄存器重定到 POR 狀態,然後配置時鐘、結果格式、參考電壓、埠和通道。
檔案名:adcopen.c
範例:OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_1ANA_0REF, ADC_CH0 & ADC_INT_OFF ) ;
OpenADC | 選項配置 | 說明 |
A/D 時鐘源 | ADC_FOSC_2 | FOSC / 2 |
ADC_FOSC_4 | FOSC / 4 | |
ADC_FOSC_8 | FOSC / 8 | |
ADC_FOSC_16 | FOSC / 16 | |
ADC_FOSC_32 | FOSC / 32 | |
ADC_FOSC_64 | FOSC / 64 | |
ADC_FOSC_RC | 內部 RC 振盪器 | |
A/D 結果對齊 | ADC_RIGHT_JUST | 結果向最低有效位對齊(右對齊) |
ADC_LEFT_JUST | 結果向最高有效位對齊(左對齊) | |
A/D 參考電壓源 | ADC_8ANA_0REF | VREF+=VDD, VREF-=VSS, 所有通道都是模擬通道 |
ADC_7ANA_1REF | AN3=VREF+, 除AN3 外都是模擬通道 | |
ADC_6ANA_2REF | AN3=VREF+, AN2=VREF | |
ADC_6ANA_0REF | VREF+=VDD, VREF-=VSS | |
ADC_5ANA_1REF | AN3=VREF+, VREF-=VSS | |
ADC_5ANA_0REF | VREF+=VDD, VREF-=VSS | |
ADC_4ANA_2REF | AN3=VREF+, AN2=VREFADC_ 4ANA_1REF AN3=VREF+ | |
ADC_3ANA_2REF | AN3=VREF+, AN2=VREFADC_ 3ANA_0REF VREF+=VDD, VREF-=VSS | |
ADC_2ANA_2REF | AN3=VREF+, AN2=VREFADC_ 2ANA_1REF AN3=VREF+ | |
ADC_1ANA_2REF | AN3=VREF+, AN2=VREF-, AN0=A | |
ADC_1ANA_0REF | AN0 為模擬輸入 | |
ADC_0ANA_0REF | 所有通道都是數字 I/O config2 | |
通道 | ADC_CH0 | 通道 0 |
ADC_CH1 | 通道 1 | |
ADC_CH2 | 通道 2 | |
ADC_CH3 | 通道 3 | |
ADC_CH4 | 通道 4 | |
ADC_CH5 | 通道 5 | |
ADC_CH6 | 通道 6 | |
ADC_CH7 | 通道 7 | |
A/D 中斷 | ADC_INT_ON | 允許中斷 |
ADC_INT_OFF | 禁止中斷 |
功能 –ReadADC (讀 取A/D 轉換的結果)
原型:int ReadADC( void ) ;
說明:該函數讀取 A/D 轉換的16 位結果。
返回值:該函數返回 A/D 轉換的 16 位元有符號結果。根據 A/D 轉換器的配置( 例如,使用函數 OpenADC()),結果會包含在 16 位結果的低有效位或高有效位中。
檔案名:adcread.c
功能 –SetChanADC (選擇用作A/D 轉換器輸入的通道)
原型:void SetChanADC( unsigned char channel ) ;
參數:channel
說明:選擇用作 A/D 轉換器輸入的引腳。
檔案名:adcsetch.c
範例:SetChanADC( ADC_CH0 ) ;
SetChanADC | 選項配置 | 說明 |
輸入通道 | ADC_CH0 | 通道 0 |
ADC_CH1 | 通道 1 | |
ADC_CH2 | 通道 2 | |
ADC_CH3 | 通道 3 | |
ADC_CH4 | 通道 4 | |
ADC_CH5 | 通道 5 | |
ADC_CH6 | 通道 6 | |
ADC_CH7 | 通道 7 | |
ADC_CH8 | 通道 8 | |
ADC_CH9 | 通道 9 | |
ADC_CH10 | 通道 10 | |
ADC_CH11 | 通道 11 |
使用A/D 轉換器函數的例子:
#include #include #include #include int result; void main( void ) { // configure A/D convertor OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_8ANA_0REF,ADC_CH0 & ADC_INT_OFF ); Delay10TCYx( 5 ); // Delay for 50TCY ConvertADC(); // Start conversion while( BusyADC() ); // Wait for completion result = ReadADC(); // Read result CloseADC(); // Disable A/D converter } |
2011年3月26日 星期六
DIY - PIC: PIC18F4550 A/D 類比數位轉換器電路 (四十四)
DIY - PIC: PIC18F4550 A/D 類比數位轉換器電路 (四十四) :
這次的 Microchip PIC18F4550 類比數位轉換器 (A/D) 電路是作實驗用,所以是很簡單,電路祇是用了一個可變電阻器 (10KΩ)。調節可變電阻器的電阻值,從而改變電壓輸入到類比數位轉換器,類比數位轉換器便將電壓轉化為數值,電壓數碼值顯示在 LCD 1602 液晶屏上。
2011 年 03 月 26 日 天氣報告
氣溫:16.3 度 @ 23:00
相對濕度:百分之68%
天氣:多雲
這次的 Microchip PIC18F4550 類比數位轉換器 (A/D) 電路是作實驗用,所以是很簡單,電路祇是用了一個可變電阻器 (10KΩ)。調節可變電阻器的電阻值,從而改變電壓輸入到類比數位轉換器,類比數位轉換器便將電壓轉化為數值,電壓數碼值顯示在 LCD 1602 液晶屏上。
▲ PIC18F4550 A/D 類比數位轉換器電路 |
▲ 電阻器分壓算式 |
▲ 可變電阻器 (103 = 10KΩ) |
▲準備組裝 A/D 電路 |
▲完成 A/D 電路組裝 |
氣溫:16.3 度 @ 23:00
相對濕度:百分之68%
天氣:多雲
2011年3月25日 星期五
DIY - PIC: PIC18F4550 A/D 類比數位轉換器結構 (四十三)
DIY - PIC: PIC18F4550 A/D 類比數位轉換器結構 (四十三) :
Microchip PIC18F4550 類比數位轉換器(Analog-to-Digital Converter ADC)的參考電壓是可以設定於內部或外部,內部參考電壓是以正電源電壓和負電源電壓(VDD 和VSS)來作基準,而外部參考電壓是要連接在 RA3/AN3/VREF+ 引腳和 RA2/AN2/VREF-/CVREF 引腳上。
執行A/D 轉換時應該遵循以下步驟:1. 配置A/D 模組:
在 A/D 採集時,為了使 A/D 轉換器達到規定精度,必須使充電保持電容(CHOLD)充滿至輸入通道的電平。電源阻抗(RS)和內部採樣開關阻抗(RSS)直接影響為電容 CHOLD 充電所需的時間。採樣開關阻抗值(RSS)隨器件電壓(VDD)不同而改變。電源阻抗將影響類比輸入的失調電壓(由於引腳洩漏電流的原因)。類比信號源的最大阻抗推薦值為 2.5 kΩ。在選擇(改變)了模擬輸入通道之後,必須對通道進行採樣才能啟動轉換,採樣時間必須大於最小採集時間。
計算所需的最小採集時間 TACQ,假定的誤差為 1/2 LSb(A/D 轉換需要1024 步)。1/2 LSb 的誤差是 A/D 模組達到規定解析度所能允許的最大誤差。計算結果基於以下假設:
CHOLD = 25 pF
Rs = 2.5 kΩ
轉換誤差 ≤ 1/2 LSb
VDD = 5V → Rss = 2 kΩ
溫度 = 85°C (系統最大值)
採樣時間
A/D 最小充電時間
計算所需的最小採樣時間
選擇 A/D 轉換時鐘,每位的 A/D 轉換時間定義為 TAD。每完成一次 10 位 A/D 轉換需要 11 個 TAD 。可用軟體選擇 A/D 轉換時鐘源 (7 種可能的選擇)。為了實現正確的 A/D 轉換,A/D 轉換時鐘(TAD)必須盡可能小,但它必須大於最小 TAD。
Microchip PIC18F4550 的最低要求 0.7us,安全值為 2.45usFOSC=1/20MHz=50nsTOSC=32× 50ns=1600nS=1.6uS (1.6us > 0.7us)
Microchip PIC18F4550 類比數位轉換器(Analog-to-Digital Converter ADC)的參考電壓是可以設定於內部或外部,內部參考電壓是以正電源電壓和負電源電壓(VDD 和VSS)來作基準,而外部參考電壓是要連接在 RA3/AN3/VREF+ 引腳和 RA2/AN2/VREF-/CVREF 引腳上。
▲ ADC的參考電壓 |
- 配置類比引腳、參考電壓和數位I/O (通過ADCON1 寄存器)
- 選擇A/D 輸入通道(通過ADCON0 寄存器)
- 選擇A/D 採集時間(通過ADCON2 寄存器)
- 選擇A/D 轉換時鐘(通過ADCON2 寄存器)
- 使能A/D 模組(通過ADCON0 寄存器)
- 清零ADIF 位
- 將ADIE 位置1
- 將GIE 位置1
- 將GO/DONE 位置1(通過ADCON0 寄存器)
- 查詢GO/DONE 位是否被清零
- 等待A/D 中斷
- 將每位的A/D 轉換時間定義為TAD,在下一次采集開始前至少需要等待3 個TAD。
▲ A/D傳遞函數 |
▲模擬輸入的電路模型 |
計算所需的最小採集時間 TACQ,假定的誤差為 1/2 LSb(A/D 轉換需要1024 步)。1/2 LSb 的誤差是 A/D 模組達到規定解析度所能允許的最大誤差。計算結果基於以下假設:
CHOLD = 25 pF
Rs = 2.5 kΩ
轉換誤差 ≤ 1/2 LSb
VDD = 5V → Rss = 2 kΩ
溫度 = 85°C (系統最大值)
採樣時間
TACQ = 放大器穩定時間+ 保持電容充電時間+ 溫度係數 = TAMP + TC + TCOFF |
A/D 最小充電時間
VHOLD = (VREF – (VREF/2048)) • (1 – e(-TC/CHOLD(RIC + RSS + RS))) 或 TC =-(CHOLD)(RIC +RSS +RS) ln(1/2048) |
ACQ = TAMP + TC + TCOFF TAMP = 0.2 μs TCOFF= (Temp – 25°C)(0.02 μs/°C) = (85°C – 25°C)(0.02 μs/°C) = 1.2 μs 只有在溫度> 25°C 時需要溫度係數。當溫度低於25°C 時, TCOFF = 0 ms。 TC = -(CHOLD)(RIC + RSS + RS) ln(1/2048) μs = -(25 pF) (1 kΩ + 2 kΩ + 2.5 kΩ) ln(0.0004883) μs = 1.05 μs TACQ = 0.2 μs + 1.05 μs + 1.2 μs = 2.45 μs |
選擇 A/D 轉換時鐘,每位的 A/D 轉換時間定義為 TAD。每完成一次 10 位 A/D 轉換需要 11 個 TAD 。可用軟體選擇 A/D 轉換時鐘源 (7 種可能的選擇)。為了實現正確的 A/D 轉換,A/D 轉換時鐘(TAD)必須盡可能小,但它必須大於最小 TAD。
▲不同工作頻率下和選擇不同的 A/D 時鐘源時得到的 TAD |