电脑的各種電源狀態

来自:http://www.techbang.com/posts/17396-power-states-know-how-many-g-p-t-s-c-read

有時候我們會被 BIOS 或是作業系統中的電源管理搞得霧煞煞,S0、C1 究竟代表著什麼,如果不了解其意義以及身後所代表的內涵,很難在 BIOS 中調整出適合的設定。就算你不是進階或是超頻玩家,看完此文你也能夠對電源管理有更深的認識。

各種電源狀態縮寫的意義

P-States:英文為Performance States的縮寫,中文為效能狀態。

T-States:英文為Throttling States的縮寫。

S-States:英文為Sleeping States的縮寫,中文為睡眠狀態。

G-States:英文為Global States的縮寫,中文為全域狀態。

C-States:英文為CPU States的縮寫,中文為處理器狀態。

正常運作靠 P-States

P-States 指的就是 CPU 處理器依據目前運算量負荷輕重,調整運作頻率的高低,譬如 1 顆 3.0GHz 的處理器在執行 Crysis 3 時以全速運作、上網時以 1.8GHz 運作、觀賞影片時以 800MHz 運作。在 Intel 方面稱為 EIST(Enhanced Intel SpeedStep Technology),AMD 方面則是 CnQ(Cool’n’Quiet)和 Power Now!。通常 P0 指的就是處理器以最高頻率、最高運算量的狀態運作,接下來 P1、P2、P3……就依照運作效能的多寡、省電性由少至多依序排下去。

除了 P-States 之外還有個 T-States,不過 T-States 通常不會使用,唯有當處理器過熱或是超過我們所設定的溫度時才介入。T-States 和 P-States 都是為了降低發熱量而被使用,但是運作方式有別。例如 1 顆 3.0GHz 的處理器被 P-States 要求運作在 50%,就是真的運作在 1.5GHz 之上,而 T-States 則是將 3.0GHz 切成一半,一半時脈不運作,一半時脈正常運作(調整處理器實際運作的占比)。


▲P-States和T-States的運作方式不同。

題外話,Intel 的 Turbo Boost 技術就是當作業系統要求處理器運作在 P0 狀態時,就會收集有關目前處理器耗電量、啟動核心數量、核心電源狀態、處理器溫度等資訊,來決定P0的運作時脈為多少。


▲Intel Turbo Boost簡易原理說明。

S-States 與待機 / 休眠 / 睡眠關係式

S-States 則是指電腦系統狀態,S0~S5 共有 6 種,S0 指的就是系統正常開機運作的狀態,包含所有的 P 和 C 狀態。S1 時透過時脈產生器將處理器關閉、系統記憶體內容被刷新(持續供電),S1 狀態也被稱為 power on suspend;S2 則是處理器電源完全關閉、系統記憶體內容刷新,系統整體耗電量比起 S1 更低一些。S3 一般也稱為 suspend to RAM 或是待命(Windows XP)、睡眠(Windows Vista 之後),除了系統記憶體還有少量供電以外,其餘大部分系統內的硬體電源均被關閉;S4 則是所謂的 suspend to disk ,將系統記憶體內部的資料寫入硬碟之後,將電腦系統整體關閉,耗電量和關機一樣;S5 就是關機狀態。

例外有些人可能還有聽過 G-States 全域狀態,不過 G-States 僅是個抽象描寫系統目前的電源狀態(ACPI),要如何實作需額外定義。一般來說 G0 為系統開機狀態、G1 為睡眠狀態、G2 為軟關機、G3 為硬體關機。

C-States 好多種

比較難理解的就是處理器待機狀態 C-States,因為這裡的電源管理比較複雜,會根據狀態的不同分別調降運作時脈或電壓,或者乾脆完全關閉。同時 C-States 也不斷的加入新成員,像是 C8~C10 就是僅在 Haswell ULT 系列才導入的 C-State。

C0:包含在 S0 之下,旗下包含所有 P-States,也就是處理器內部電源全開的狀態,所有的 x86 處理器都支援這個狀態。

C1:藉由軟體關閉處理器的時脈(stop internal clock)(送出 HLT 指令),但是匯流排介面和 APIC(Advanced Programmable Interrupt Controller)均運作在全速狀態,由 Intel 486DX4 和之後的處理器開始支援,離開時間 10ns。

C1E:藉由軟體關閉處理器的時脈,以及降低處理器的輸入電壓,其餘的匯流排界面和 APIC 運作在全速狀態,LGA775 腳位之後的處理器都支援,離開時間 10ns;如果在 BIOS 中開啟 C1E 支援,則處理器就會進入 C1E 而非進入 C1 狀態。須注意 AMD 也使用 C1E 這個名詞在處理器上,不過卻是另外一回事,在 AMD 65 奈米之後的處理器,所有處理器核心進入 C1 狀態會讓處理器直接進入 C3 狀態。

C2:藉由硬體關閉處理器的時脈(設定 STPCLK 處理器接腳),匯流排介面和 APIC 均運作在全速狀態,同樣是 Intel 486DX4 之後全部支援,離開時間100ns。

C2E:藉由硬體關閉處理器的時脈,降低處理器的輸入電壓,其餘的匯流排界面和 APIC 運作在全速狀態,Intel Core 2 Duo 之後皆支援,但僅限 Intel 的處理器;同樣的,若在 BIOS 中將 C2E 支援開啟時,就會以 C2E 替代 C2 狀態,離開時間 100ns。

C3:關閉處理器內部所有的時脈(包含匯流排界面和 APIC),將 L1 快取中的內容清空,Intel Pentium II 和 AMD Athlon 之後皆支援(除 Core 2 Duo E4000 和 E6000 系列不支援),此模式也稱為 sleep 模式,離開時間 50ms。C3 下還有個 deep sleep 模式,由 Pentium II 以上(Core 2 Duo E4000 和 E6000系列不支援)、Turion 64 以上所支援,除處理器內部時脈外,也可關閉外部時脈。

Intel 處理器可透過設定 SLP 或是 DSSLP 接腳進入 C3(在這之前處理器必須先進入C2),AMD 則是透過讀取 APCI 的暫存器和 STPCLK 的組合而定,如果讀取 PLVL_2 暫存器,則設定 STPCLK 之後會進入 C2;若讀取 PLVL_3 暫存器,則設定 STPCLK 之後會進入 C3。AMD 行動版 Turion 64 處理器還支援更進階的AltVID功能,可於進入 C3 的同時降低處理器電壓。

C4:稱做 deeper sleep,不像 C1~C3 為關閉處理器的時脈,C4 更進一步降低處理器的電壓供應,並把部分的 L2 快取內容清空以便進一步降低能源消耗;C4 從 Intel Pentium M(不包含 Core 2 Duo E4000 和 E6000系列)和 AMD Turion 64 之後開始支援,離開時間至少需 200ms。

C4E:將 C4 時的處理器 L2 快取完全清空並關閉,可進一步降低供應給處理器的電壓,此模式僅在部分處理器上出現(Core Solo、Duo、部分 45 奈米行動版 Core 2 Duo、部分 Atom)。

C6:C6 狀態(deep power down)可以說是完全關閉了處理器,包含 L1 和 L2 快取。在此狀態下,處理器內部的狀態都會被寫入到 1 個具有獨立電力來源的靜態記憶體中(後來的處理器可使用 L3 快取做為目標寫入),處理器的電壓就能夠降到非常低,甚至是 0V 完全關閉,從 Intel 45 奈米行動版 Core 2 Duo 開始支援。C6 時的離開時間比較長,約是 C4 的 1.5 倍。

Intel 在 Nehalem 中導入了 1 個電源控制模組,處理器各個部分可使用不同的電壓,因此可讓某個閒置的處理核心進入 C6。


▲Intel於Penryn核心開始導入C6(桌上型版本沒有)。

C7:C7 在 C6 的基礎上增加了部分或者全部清空 L3 快取,被整合進去的北橋,現稱 System Agent 以最小的電壓保持啟動,外部電壓調整可從 1.8V 降至 1.6V,從 Sandy Bridge 開始導入。

C8:最後 1 層 L3 快取被關閉,System Agent 以最小的電壓保持啟動,外部電壓調整可從 1.8V 降至 1.2V。

C9:System Agent 電壓降至 0V,IO 關閉,外部電壓調整可降至0V。

C10:外部電壓調整可降至 0V 或完全關閉(以上C8~C10目前僅在Haswell ULT版出現)。

树莓派配置文档config.txt说明

转自:
http://my.oschina.net/funnky/blog/132885

原文连接:http://elinux.org/RPi_config.txt

由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在"config.txt"这个文本文件中.

树莓派的config.txt文件会在ARM内核初始化之前被GPU读取.

这个文件存在引导分区上的.对于Linux, 路径通常是/boot/config.txt, 如果是Windows (或者OS X) 它会被识别为SD卡中可访问部分的一个普通文件.

如果想要编辑配置文件, 请查看介绍编辑树莓派配置文件.

你可以使用下列命令去获取当前激活的设置:

vcgencmd get_config <config> - 列出指定的配置参数. 例如: vcgencmd get_config arm_freq
vcgencmd get_config int - 列出所有已设置的整形配置参数(非零)
vcgencmd get_config str - 列出所有已设置的字符型配置参数(非零)

 

文件格式

当值是整形时格式为"属性=值". 每行只指定一个参数. 注释使用'#'井号作为一行开头.

注意: 在新版的树莓派里每行都有#注释, 要想使用该行参数只需移除#.

下面是示例文件

# Set stdv mode to PAL (as used in Europe) sdtv_mode=2
# Force the monitor to HDMI mode so that sound will be sent over HDMI cable
hdmi_drive=2
# Set monitor mode to DMT
hdmi_group=2
# Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60)
hdmi_mode=16
# Make display smaller to stop text spilling off the screen
overscan_left=20
overscan_right=12
overscan_top=10
overscan_bottom=10

这是另一个示例文件, 包含了各种功能的扩展文档.

 

内存

disable_l2cache 禁止ARM访问GPU的二级缓存. 相应的需要在内核中关闭二级缓存. 默认为0

gpu_mem GPU内存以兆为单位. 设置ARM和GPU之间的内存分配. ARM会获得剩余所有内存. 最小设为16. 默认为64

gpu_mem_256 对于有256MB内存的树莓派的GPU内存设置. 512MB的派请忽略. 会覆盖gpu_mem. 最大设为192. 默认不设置

gpu_mem_512 对于有512MB内存的树莓派的GPU内存设置. 256MB的派请忽略.  会覆盖gpu_mem. 最大设为448. 默认不设置

disable_pvt 禁止每500毫秒调整一次RAM的刷新率 (RAM温度测量).

 

CMA - 动态内存分配

自2012年11月19号, 固件和内核开始支持CMA, 这意味运行时可以动态管理ARM和GPU之间的内存分配. 这儿有相关config.txt示例.

cma_lwm 当GPU可用内存低于cma_lwm所设值, 将会向ARM请求一些内存.

cma_hwm 当GPU可用内存高于cma_hwm所设值, 将会向ARM释放一些内存.

要启用CMA,下面的参数需要添加到cmdline.txt文件里:

coherent_pool=6M smsc95xx.turbo_mode=N

 

视频

 

视频模式选项

sdtv_mode 为复合信号输出设置视频制式(默认为0)

sdtv_mode=0    NTSC
sdtv_mode=1    日本版NTSC – 无基座 
sdtv_mode=2    PAL
sdtv_mode=3    巴西版PAL – 副载波为525/60而不是625/50

sdtv_aspect 为复合信号输出设置宽高比(默认为1)

sdtv_aspect=1  4:3
sdtv_aspect=2  14:9
sdtv_aspect=3  16:9

sdtv_disable_colourburst 禁止复合信号输出彩色副载波群. 图片会显示为单色, 但是可能会更清晰

sdtv_disable_colourburst=1  禁止输出彩色副载波群

hdmi_safe 使用"安全模式"的设置去尝试用HDMI最大兼容性启动. 这和下面的组合是一个意思: hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4, disable_overscan=0

hdmi_safe=1

hdmi_ignore_edid 如果你的显示器是天朝产的垃圾货, 允许系统忽略EDID显示数据

hdmi_ignore_edid=0xa5000080

hdmi_edid_file 当设为1时, 将会从edid.dat文件中读取EDID数据,而不是从显示器.[1]

hdmi_edid_file=1

hdmi_force_edid_audio 伪装成支持所有音频格式播放, 即便报告不支持也允许通过DTS/AC3.

hdmi_force_edid_audio=1

hdmi_force_edid_3d 伪装成全部CEA模式都支持3D, 即便EDID并不支持.

hdmi_force_edid_3d=1

avoid_edid_fuzzy_match 禁止去模糊匹配EDID中描述的模式. 即便遮蔽错误, 也选用匹配分辨率和最接近帧率的标准模式.

avoid_edid_fuzzy_match=1

hdmi_ignore_cec_init 不发送初始化激活源消息. 避免在重启时使(启用CEC)TV结束待机并切换频道.

hdmi_ignore_cec_init=1

hdmi_ignore_cec 伪装成TV不支持CEC. 将不会支持任何CEC功能.

hdmi_ignore_cec=1

hdmi_force_hotplug 伪装成HDMI热插拔信号被检测到, 出现HDMI显示器被接入

hdmi_force_hotplug=1 即便没有检测到HDMI显示器也要使用HDMI模式

hdmi_ignore_hotplug 伪装成HDMI热插拔信号没有被检测到, 出现HDMI显示器未接入

hdmi_ignore_hotplug=1 即便检测到HDMI显示器也要使用混合模式

hdmi_pixel_encoding 强制像素编码模式. 默认情况下会使用EDID请求的模式, 所以不需要修改.

hdmi_pixel_encoding=0 default       (limited for CEA, full for DMT)
 hdmi_pixel_encoding=1 RGB limited   (16-235)
 hdmi_pixel_encoding=2 RGB full      ( 0-255)
 hdmi_pixel_encoding=3 YCbCr limited (16-235)
 hdmi_pixel_encoding=4 YCbCr limited ( 0-255)

hdmi_drive 选择HDMI还是DVI模式

hdmi_drive=1 DVI模式 (没声音)
 hdmi_drive=2 HDMI模式 (如果支持并已启用将有声音输出)

hdmi_group 设置HDMI类型

不指定组, 或者设为0, 将会使用EDID报告的首选组.

hdmi_group=1   CEA
hdmi_group=2   DMT

hdmi_mode 设置在CEA或DMT格式下的屏幕分辨率

当hdmi_group=1 (CEA)时,下列值有效 
hdmi_mode=1    VGA
hdmi_mode=2    480p  60Hz
hdmi_mode=3    480p  60Hz  H
hdmi_mode=4    720p  60Hz
hdmi_mode=5    1080i 60Hz
hdmi_mode=6    480i  60Hz
hdmi_mode=7    480i  60Hz  H
hdmi_mode=8    240p  60Hz
hdmi_mode=9    240p  60Hz  H
hdmi_mode=10   480i  60Hz  4x
hdmi_mode=11   480i  60Hz  4x H
hdmi_mode=12   240p  60Hz  4x
hdmi_mode=13   240p  60Hz  4x H
hdmi_mode=14   480p  60Hz  2x
hdmi_mode=15   480p  60Hz  2x H
hdmi_mode=16   1080p 60Hz
hdmi_mode=17   576p  50Hz
hdmi_mode=18   576p  50Hz  H
hdmi_mode=19   720p  50Hz
hdmi_mode=20   1080i 50Hz
hdmi_mode=21   576i  50Hz
hdmi_mode=22   576i  50Hz  H
hdmi_mode=23   288p  50Hz
hdmi_mode=24   288p  50Hz  H
hdmi_mode=25   576i  50Hz  4x
hdmi_mode=26   576i  50Hz  4x H
hdmi_mode=27   288p  50Hz  4x
hdmi_mode=28   288p  50Hz  4x H
hdmi_mode=29   576p  50Hz  2x
hdmi_mode=30   576p  50Hz  2x H
hdmi_mode=31   1080p 50Hz
hdmi_mode=32   1080p 24Hz
hdmi_mode=33   1080p 25Hz
hdmi_mode=34   1080p 30Hz
hdmi_mode=35   480p  60Hz  4x
hdmi_mode=36   480p  60Hz  4xH
hdmi_mode=37   576p  50Hz  4x
hdmi_mode=38   576p  50Hz  4x H
hdmi_mode=39   1080i 50Hz  reduced blanking
hdmi_mode=40   1080i 100Hz
hdmi_mode=41   720p  100Hz
hdmi_mode=42   576p  100Hz
hdmi_mode=43   576p  100Hz H
hdmi_mode=44   576i  100Hz
hdmi_mode=45   576i  100Hz H
hdmi_mode=46   1080i 120Hz
hdmi_mode=47   720p  120Hz
hdmi_mode=48   480p  120Hz
hdmi_mode=49   480p  120Hz H
hdmi_mode=50   480i  120Hz
hdmi_mode=51   480i  120Hz H
hdmi_mode=52   576p  200Hz
hdmi_mode=53   576p  200Hz H
hdmi_mode=54   576i  200Hz
hdmi_mode=55   576i  200Hz H
hdmi_mode=56   480p  240Hz
hdmi_mode=57   480p  240Hz H
hdmi_mode=58   480i  240Hz
hdmi_mode=59   480i  240Hz H
H表示16:9比例(正常是4:3).
2x表示双倍像素(即更高的像素时脉, 每个像素重复两次)
4x表示四倍像素(即更高的像素时脉, 每个像素重复四次)
当hdmi_group=2 (DMT)时,下列值有效  
警告: 根据这篇帖子所述
像素时脉是有限制的, 最高支持的模式是1920x1200 @60Hz with reduced blanking.
hdmi_mode=1    640x350   85Hz
hdmi_mode=2    640x400   85Hz
hdmi_mode=3    720x400   85Hz
hdmi_mode=4    640x480   60Hz
hdmi_mode=5    640x480   72Hz
hdmi_mode=6    640x480   75Hz
hdmi_mode=7    640x480   85Hz
hdmi_mode=8    800x600   56Hz
hdmi_mode=9    800x600   60Hz
hdmi_mode=10   800x600   72Hz
hdmi_mode=11   800x600   75Hz
hdmi_mode=12   800x600   85Hz
hdmi_mode=13   800x600   120Hz
hdmi_mode=14   848x480   60Hz
hdmi_mode=15   1024x768  43Hz  DO NOT USE
hdmi_mode=16   1024x768  60Hz
hdmi_mode=17   1024x768  70Hz
hdmi_mode=18   1024x768  75Hz
hdmi_mode=19   1024x768  85Hz
hdmi_mode=20   1024x768  120Hz
hdmi_mode=21   1152x864  75Hz
hdmi_mode=22   1280x768        reduced blanking
hdmi_mode=23   1280x768  60Hz
hdmi_mode=24   1280x768  75Hz
hdmi_mode=25   1280x768  85Hz
hdmi_mode=26   1280x768  120Hz reduced blanking
hdmi_mode=27   1280x800        reduced blanking
hdmi_mode=28   1280x800  60Hz
hdmi_mode=29   1280x800  75Hz
hdmi_mode=30   1280x800  85Hz
hdmi_mode=31   1280x800  120Hz reduced blanking
hdmi_mode=32   1280x960  60Hz
hdmi_mode=33   1280x960  85Hz
hdmi_mode=34   1280x960  120Hz reduced blanking
hdmi_mode=35   1280x1024 60Hz
hdmi_mode=36   1280x1024 75Hz
hdmi_mode=37   1280x1024 85Hz
hdmi_mode=38   1280x1024 120Hz reduced blanking
hdmi_mode=39   1360x768  60Hz
hdmi_mode=40   1360x768  120Hz reduced blanking
hdmi_mode=41   1400x1050       reduced blanking
hdmi_mode=42   1400x1050 60Hz
hdmi_mode=43   1400x1050 75Hz
hdmi_mode=44   1400x1050 85Hz
hdmi_mode=45   1400x1050 120Hz reduced blanking
hdmi_mode=46   1440x900        reduced blanking
hdmi_mode=47   1440x900  60Hz
hdmi_mode=48   1440x900  75Hz
hdmi_mode=49   1440x900  85Hz
hdmi_mode=50   1440x900  120Hz reduced blanking
hdmi_mode=51   1600x1200 60Hz
hdmi_mode=52   1600x1200 65Hz
hdmi_mode=53   1600x1200 70Hz
hdmi_mode=54   1600x1200 75Hz
hdmi_mode=55   1600x1200 85Hz
hdmi_mode=56   1600x1200 120Hz reduced blanking
hdmi_mode=57   1680x1050       reduced blanking
hdmi_mode=58   1680x1050 60Hz
hdmi_mode=59   1680x1050 75Hz
hdmi_mode=60   1680x1050 85Hz
hdmi_mode=61   1680x1050 120Hz reduced blanking
hdmi_mode=62   1792x1344 60Hz
hdmi_mode=63   1792x1344 75Hz
hdmi_mode=64   1792x1344 120Hz reduced blanking
hdmi_mode=65   1856x1392 60Hz
hdmi_mode=66   1856x1392 75Hz
hdmi_mode=67   1856x1392 120Hz reduced blanking
hdmi_mode=68   1920x1200       reduced blanking
hdmi_mode=69   1920x1200 60Hz
hdmi_mode=70   1920x1200 75Hz
hdmi_mode=71   1920x1200 85Hz
hdmi_mode=72   1920x1200 120Hz reduced blanking
hdmi_mode=73   1920x1440 60Hz
hdmi_mode=74   1920x1440 75Hz
hdmi_mode=75   1920x1440 120Hz reduced blanking
hdmi_mode=76   2560x1600       reduced blanking
hdmi_mode=77   2560x1600 60Hz
hdmi_mode=78   2560x1600 75Hz
hdmi_mode=79   2560x1600 85Hz
hdmi_mode=80   2560x1600 120Hz reduced blanking
hdmi_mode=81   1366x768  60Hz
hdmi_mode=82   1080p     60Hz
hdmi_mode=83   1600x900        reduced blanking
hdmi_mode=84   2048x1152       reduced blanking
hdmi_mode=85   720p      60Hz
hdmi_mode=86   1366x768        reduced blanking

overscan_left 左侧跳过像素数

overscan_right 右侧跳过像素数

overscan_top 顶部跳过像素数

overscan_bottom 底部跳过像素数

framebuffer_width 控制台framebuffer宽度, 以像素为单位. 默认是显示器宽度减去超出扫描.

framebuffer_height 控制台framebuffer高度, 以像素为单位. 默认是显示器高度减去超出扫描.

framebuffer_depth 控制台framebuffer深度, 以位为单位. 默认是16位. 8位也是有效的, 但是默认RGB调色板会导致屏幕不可读. 24位效果更好 ,但是2012年6月15号发现有显示混乱问题. 32位没有混乱问题, 但是需要设置framebuffer_ignore_alpha=1, 并在2012年6月15号发现颜色显示错误.

framebuffer_ignore_alpha 设为1将禁用alpha通道. 仅对32位有效.

test_mode 允许在启动时做声音与图像测试.

disable_overscan 设为1将禁用超出扫描.

config_hdmi_boost 设置HDMI接口的信号强度. 默认为0. 如果出现HDMI干扰问题可以试试设为4. 最大为7.

display_rotate 顺时针旋转屏幕显示 (默认为0) 或者翻转显示.

display_rotate=0        正常
display_rotate=1        90度
display_rotate=2        180度
display_rotate=3        270度
display_rotate=0x10000  水平翻转
display_rotate=0x20000  垂直翻转

注意: 旋转90度或者270度额外需要GPU内存, 所以在GPU只分配到16M的时候旋转会无效. 可能的原因:

  • Crashes my RPI before Linux boots if set to "1" -- REW 20120913.

 

哪些值对我的显示器有效?

你的HDMI显示器可能只支持一部分设置. 想要找出支持哪些设置, 可以使用下面的方法.

  • 把输出格式设为VGA 60Hz (hdmi_group=1 hdmi_mode=1) 然后启动树莓派
  • 输入下列命令可以获取CEA支持模式的列表
/opt/vc/bin/tvservice -m CEA
  • 输入下列命令可以获取DMT支持模式的列表
/opt/vc/bin/tvservice -m DMT
  • 输入下列命令可以获取当前设置状态
/opt/vc/bin/tvservice -s
  • 输入下列命令可以从显示器获取更多详细信息
/opt/vc/bin/tvservice -d edid.dat /opt/vc/bin/edidparser edid.dat

使用默认HDMI模式去排除问题时, edid.dat文件同样会提供信息

 

许可的解码器

你可以购买绑定树莓派CPU序列号的证书来使用额外的硬件解码器.

decode_MPG2 可开启MPEG-2硬解的序列号.

decode_MPG2=0x12345678

decode_WVC1 可开启VC-1硬解的序列号.

decode_WVC1=0x12345678

可在多台树莓派间共享SD卡的序列号. 同时最多8个证书.

decode_XXXX=0x12345678,0xabcdabcd,0x87654321,...

 

启动

disable_commandline_tags 在启动内核前, 通过改写ATAGS (0x100处的内存)来阻止start.elf

cmdline (string) 命令行参数. 可用来代替cmdline.txt文件

kernel (string) 加载指定名称的内核镜像文件启动内核. 默认为"kernel.img"

kernel_address 加载kernel.img文件地址

kernel_old (bool) 为1时, 从0x0处加载内核

ramfsfile (string) 要的加载的ramfs文件

ramfsaddr 要加载的ramfs文件地址

initramfs (string address) 要加载的ramfs文件及其地址 (就是把ramfsfile+ramfsaddr合并为一项).

注意: 这项使用与其他项不同的语法 - 不要在这用"="号. 正确示例:

initramfs initramf.gz 0x00800000

device_tree_address 加载device_tree的地址

init_uart_baud 初始化uart波特率. 默认为115200

init_uart_clock 初始化uart时序. 默认为3000000 (3Mhz)

init_emmc_clock 初始化emmc时序. 默认为100000000 (100MHz)

boot_delay 在加载内核前在start.elf等待指定秒. 总延迟=1000 * boot_delay + boot_delay_ms. 默认为1

boot_delay_ms 在加载内核前在start.elf等待指定毫秒. 默认为0

avoid_safe_mode 如果设为1, 将不以安全模式启动. 默认为0

 

超频

注意: 设置任何参数来超频树莓派都会在芯片中永久的储存一个保修位, 用于检测你的树莓派是否超频过. 如果设备超频过保修就无效了. 自2012年9月19号,你可以自由超频而不影响保修了[2]

最新的内核有一个默认开启"ondemand"调速器的cpu频率内核驱动. 未开启超频并不会有任何影响. 一旦你开超频, ARM频率将随处理器负载而变化. 只有在调速器需要时才会使用非默认值. 你可以使用*_min配置选项来调整最低值, 或者使用force_turbo=1来禁用动态超频. [3]

当芯片温度达到85°C运行时会关闭超频及超压, 直到冷却. 即使在25°C环境温度下使用最高设置, 也不要让温度达到极限. [4]

 

超频选项

参数 说明
arm_freq ARM频率,以MHz为单位. 默认为700
gpu_freq 同时设置core_freq, h264_freq, isp_freq, v3d_freq. 默认为250
core_freq GPU处理器核心频率,以MHz为单位. 由于GPU要驱动二级缓存, 对ARM性能会造成影响. 默认为 250
h264_freq 视频硬解模块频率,以MHz为单位. 默认为250
isp_freq 图像传感器管道模块频率,以MHz为单位. 默认为250
v3d_freq 3D模块频率,以MHz为单位. 默认为250
avoid_pwm_pll 不要把锁相环用在PWM音频. 这会略微降低模拟音频的效果. 空闲的锁相环允许从剩余GPU独立设置core_freq, 这将会比超频有更多权限. 默认为0
sdram_freq SDRAM频率,以MHz为单位.默认为400
over_voltage ARM/GPU核心电压调节. [-16,8]用0.025V步进等同于[0.8V,1.4V]. 默认为0 (1.2V). 只有在指定 force_turbo或current_limit_override时 (会设置保修位), 才允许数值在6以上
over_voltage_sdram 同时设置over_voltage_sdram_c, over_voltage_sdram_i, over_voltage_sdram_p
over_voltage_sdram_c SDRAM控制器电压调节. [-16,8]用0.025V步进等同于[0.8V,1.4V]. 默认为0 (1.2V)
over_voltage_sdram_i SDRAM I/O电压调节. [-16,8]用0.025V步进等同于[0.8V,1.4V]. 默认为0 (1.2V)
over_voltage_sdram_p SDRAM phy电压调节. [-16,8]用0.025V步进等同于[0.8V,1.4V]. 默认为0 (1.2V)
force_turbo 关闭动态CPU频率驱动及下面的最小设置. 开启h264/v3d/isp超频. 默认为0. 会设置保修位.
initial_turbo 在启动时以指定秒数 (上限为60) 或者以CPU频率来开启急速模式. 如果已经超频, 能对SD卡错误问题有改善. 默认为0 [5]
arm_freq_min 设置动态时序的最小arm_freq. 默认为700
core_freq_min 设置动态时序的最小core_freq. 默认为250
sdram_freq_min 设置动态时序的最小sdram_freq. 默认为400
over_voltage_min 设置动态时序的最小over_voltage. 默认为0
temp_limit 过热保护. 当芯片达到指定温度就把时序和电源切换会默认值. 把此值设高于默认值将影响保修. 默认为85
current_limit_override 当设为"0x5A000020"时, 禁止SMPS限流保护. 在超频过高无法重启时设置此项会有所帮助. 会设置保修位.[6]

 

force_turbo模式

force_turbo=0

开启对ARM核心,GPU核心和SDRAM的动态时序及电压. 在忙的时候ARM频率会提高到"arm_freq"并在闲的时候降低到"arm_freq_min". "core_freq", "sdram_freq"和"over_voltage"的行为都一样. "over_voltage"最高为6 (1.35V). h264/v3d/isp部分的非默认值将被忽略.

force_turbo=1

关闭动态时序, 因此所有频率和电压会保持高值. h264/v3d/isp GPU部分的超频也会开启, 等同于设置"over_voltage"为8 (1.4V). [7]

 

时序关系

GPU核心, h264, v3d和isp共享一个锁相环, 因此需要相关联的频率. ARM, SDRAM和GPU有各自独有的锁相环, 因此可以设为没有关联的频率.[8]

当设了"avoid_pwm_pll=1"下列设置就没必要了.

pll_freq = floor(2400 / (2 * core_freq)) * (2 * core_freq)
gpu_freq = pll_freq / [偶数]

有效的gpu_freq会自动四舍五到到最接近的整型偶数, 所以请求core_freq为500, gpu_freq为300,算一下2000/300 = 6.666 => 6 ,结果就是333.33MHz.

 

已测试过的超频设置

下表显示了一些成功的超频尝试, 这些可以指导你进行超频. 这些设置不一定能在每台树莓派上都成功, 并且会缩短高通芯片的寿命.

arm_freq gpu_freq core_freq h264_freq isp_freq v3d_freq sdram_freq over_voltage over_voltage_sdram
800
900 275 500
900 450 450
930 350 500
1000 500 500 6
1050 6
1150 500 600 8

这是一个表明Hynix产的RAM在超频上表现不如三星产的RAM的报告.

 

超频时SD卡使用

设置SD卡: http://elinux.org/RPi_Easy_SD_Card_Setup
超频时使用6速或10速的SD卡(SHDC/SHDX)会导致在一些天后树莓派读取SD卡文件系统不稳定.
 不管是ext4 , NTFS 或其他格式都一样.
 不管是哪家SD卡生产商都一样.
 不管是哪个版本的树莓派都一样.
 这与SD卡容量无关 - 实际验证出现在16G或更大的SD卡上.
 ! 关键是你何时让树莓派功率不足,也就是低于树莓派的基本设置需求 !

popcornmix发表在https://github.com/raspberrypi/linux/issues/280:

"超频会导致SD卡错误.这情况往往是与板子相关(就是说有些树莓派超频后SD卡没事,有些不行).

我认为通常都是core_freq导致的SD卡问题(和arm_freq,sdram_freq比)"

在2013年4月写这个提示的时候在树莓派官方论坛上一共有137个有关于SD的问题, 绝大部分与超频有关.
如果你使用6速或10速SD卡, 还想要树莓派稳定运行:  不要尝试超频,否则很可能会丢失数据 

 

监测温度及电压

要检测树莓派的温度, 看: /sys/class/thermal/thermal_zone0/temp
要检测树莓派当前的频率, 看: /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
要检测树莓派电源装置的电压, 你需要一个万用电表, 接上电源测试点, 或者扩展头.

通常来说要保持核心温度低于70度, 电压高于4.8V. (另外请注意, 不要用那种便宜的USB电源, 那基本上是4.2V的, 这是因为那本来就是为充3.7V锂电池设计的, 根本无法为树莓派提供稳定的5V电压). 此外, 用散热片也是个好主意, 尤其是你把树莓派装到了壳子里. 一个合适的散热器是自带不干胶栅格状的 14x14x10 mm 散热片.

 

超频稳定性测试

大多数超频问题立马就会出现启动问题, 但还是会随时间而出现文件系统问题. 这是一个对系统,特别是SD卡进行压力测试的脚本. 如果脚本执行完成, dmesg中不提示任何错误, 你做的超频设置可能会比较稳定.

如果系统崩溃了, 在重启时按住shift键, 这会临时性关闭所有超频. 同样, 注意SD卡问题通常由core_freq造成,不要在raspi-config预设的高速(950 MHz)和超速(1 GHz)里来个大跳越(从250 MHz飞到500 MHz).

#!/bin/bash
#Simple stress test for system. If it survives this, it's probably stable.
#Free software, GPL2+

echo "Testing overclock stability..."

#Max out the CPU in the background (one core). Heats it up, loads the power-supply. 
nice yes >/dev/null &

#Read the entire SD card 10x. Tests RAM and I/O
for i in `seq 1 10`; do echo reading: $i; sudo dd if=/dev/mmcblk0 of=/dev/null bs=4M; done

#Writes 512 MB test file,  10x.
for i in `seq 1 10`; do echo writing: $i; dd if=/dev/zero of=deleteme.dat bs=1M count=512; sync; done

#Clean up
killall yes
rm deleteme.dat

#Print summary. Anything nasty will appear in dmesg.
echo -n "CPU freq: " ; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
echo -n "CPU temp: " ; cat /sys/class/thermal/thermal_zone0/temp
dmesg | tail 

echo "Not crashed yet, probably stable."

十问Android NFC手机上的卡模拟(转)

1, 问:能否在AndroidNFC手机上实现卡模拟?

答:在技术上可行,但是,对一般开发人员来讲,目前看来仅仅是技术上可行:(

2, 问:具体如何实现呢?

答:有两种方式:一种是基于硬件的,被称为虚拟卡模式(Virual Card Mode);一种是基于软件的,被称为主机卡模式(Host Card Mode)。

在虚拟卡模式下,需要提供安全模块SE,NFC芯片作为非接触通讯前端,将从外部读写器接收到命令,转发到SE,然后由SE进行回复。

外部读写器 <---> NFC芯片 <---> SE。

而在主机卡模式下,不需要提供SE,而是由在手机中运行的一个应用完成SE的功能。

外部读写器 <---> NFC芯片 <---> 主机上的应用

3, 问:SE是个什么东西,一般手机上有吗?

答:SE可以理解成一个CPU卡,一般是带有JAVA虚拟机的CPU卡,即JAVA卡。带有NFC芯片的手机一般都带有SE(也可能有例外),例如GOOGLE NEXUS手机的PN65N,就是PN544芯片加SmartMX安全模块。此外,SE也可以是特殊的SIM卡或SD卡。

4, 问:我要做基于硬件的卡模拟,如何实现?

答:首先开发在SE中运行的程序,即一个JAVA APPLET,它负责将从NFC芯片接收到命令进行解释,处理和回复。然后,需要开发一个主机应用程序,能够将APPLET下载到SE中,并激活运行。当然,如果是完整的移动支付系统,还要包括后台应用,TSM等

5, 问:SE如何与主机通信?如何才能将程序下载到SE呢?

答:根据SE硬件的不同,SE与主机的硬件接口也有所不同。对内置的SE,一般是NFCWI接口,而SIM和SD卡可能是SWP接口。应用接口协议是ISO7816-4,即CPU卡APDU命令。熟悉CPU卡的都知道,没有密钥,根本无法完成对卡的写操作。因此需要SE的操作密钥。但不幸的是,这些密钥都掌握在手机厂商(内置SE的情况),例如三星,HTC,或移动运营商(SIM的情况),或者银行等安全模块提供商(SD卡的情况)手中,一般开发人员是得不到这些权限的。

6, 问:那么没有密钥的情况下,基于硬件能做到什么程度呢?

答:目前看来,对SE进行只读访问应该是可能的。例如在安装GOOGLE钱包后,在SE中会创建GOOGLE钱包的APPLET,我们可以通过程序选择该APPLET并发送一些查询命令。仅此而已…

7, 问:如何实现基于软件的卡模拟?

答:目前,官方Android版本不支持,可以通过刷第三方ROM实现基于软件的卡模拟,例如Cyanogenmod。(具了解,Android4.4 KitKat能支持NFC软件卡模拟,支持ISODEP类型(CPU卡),UID为随机ID,不能在关机和关屏幕下使用,通过AID路由可以与硬件卡模拟应用程序共存。)

8, 问:卡模拟一般能模拟什么卡?

答:取决于软件和硬件双方的限制。一般虚拟卡模拟主要取决于硬件,通常支持TYPE A/B的卡,对于专有协议的卡,就看芯片厂商是否支持了。例如用NXP的芯片,可以方便的模拟M1和ULTRALIGHT等,而是用其它家的芯片就不一定支持了。主机卡模拟一般只支持ISO14443-4以上的卡。

9, 问:基于软件的卡模拟有什么问题吗?

答:主要是安全问题,对应用在移动支付领域的应用,安全总是最重要的,而手机上的运行环境很不安全。

10,问:总体看来,对一般开发人员,有没有实现在android NFC手机上卡模拟,并进行商业化的可能 ?

答:综上所述,主机卡模式存在严重的安全问题,而且在目前官方Android版本不支持的情况下,不可能要求用户刷机以支持一个应用。因此主机卡模式目前只能是一个技术上的研究,而没有商业应用的可能性。对虚拟卡模式,SE掌握在手机厂商,移动运营商或银行等行业巨头手中,根据目前的趋势,一般应用开发者可以采用与这些巨头合作,取得SE的部分使用权,一般是建立一个应用的安全域,以加载自己的虚拟卡。中小应用开发者也可以考虑自己发行基于SD或外置模块的SE,但是自行发卡的成本很高,终端用户一般也不会认可。

CPU卡,M1卡,IC卡,ID卡的说明

CPU卡

一、CPU卡的概念
CPU卡又叫智能卡,卡内具有中央处理器(CPU)、随机存储器(RAM)、程序存储器(ROM)、数据存储器(EEPROM)以及片内操作系统(COS)。常分为接触式CPU卡与非接触式CPU卡两种。

二、CPU卡的应用领域
CPU卡可适用于金融、保险、电信、政府行业等多个领域,具有用户空间大、读取速度快、支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证。

金融智能卡:符合《中国金融集成电路(IC卡)规范》,通过了中国人民银行检测,支持一卡多用,支持多种文件类型,支持中国人民银行认可的Single DES、Triple DES算法,支持中国人民银行规定的电子钱包和电子存折功能。
社保卡:支持一卡多用,各应用之间相互独立。符合《社会保障(个人)卡规范》和《中国金融集成电路(IC)卡规范》,并通过了劳动和社会保障部检测。
电子商务智能卡:能够快速完成RSA算法的签名、认证、加密、解密运算,可在卡片内生成1024位RSA密钥对,支持一卡多用,各应用之间相互独立。符合《中国金融集成电路(IC)卡规范》,并已通过国家商业密码管理委员会的安全测试。
终端安全控制模块:符合《中国金融集成电路(IC卡)PSAM卡规范》,包括普通PSAM卡和高速PSAM卡。
SAM卡:安全存取模块SAM是智能卡应用系统中安全控管的核心。
SIM卡:移动通讯用户识别卡,符合GSM11.11,手机不但可以传输语音数据,还可以进行金融交易,电子商务等多种应用。

三、接触式CPU卡
目前接触式CPU卡在社保、有线电视、金融、电信等领域使用广泛。
接触式CPU芯片一般配备相应COS系统。比如:社保CPU芯片一般有华大公司的CIU92A08/CIU92L16、华虹公司的SHC1201/SHC1209/SHC1216等等,相应的COS厂家有华大公司(MCOS)/握奇公司(TimeCOS)、华虹公司(社会保障卡COS)等。
数字电视芯片(也有人称为电视机顶盒芯片)一般采用以下CPU芯片:瑞士EM公司的EMTG56/EMTG97、美国SST公司(已收购韩国Emosyn公司的多数股份)的TT40/TT80/TT120/TT240、韩国三星公司的S3FS9SD/S3FJ9SK等。

四、非接触式CPU卡
目前非接触式CPU卡在城市公交卡、护照、电视机顶盒等领域使用广泛。
比如以下三个城市公交领域的CPU卡使用情况:沈阳公交卡采用韩国三星公司的S3CC9系列CPU芯片,深圳通采用德国英飞凌的ISO14443 A 协议的SLE66PE系列CPU芯片,北京公交卡也采用德国英飞凌的ISO14443 A 协议的SLE66PE系列CPU芯片。
随着安全与容量的要求越来越高,CPU卡是智能卡未来的发展趋势之一。

ID卡

一、ID卡简介
ID卡又称射频ID卡,频率一般为125KHz。现在市场采用的多是一种无源、唯一序列号的ID卡片,制造厂家在产品出厂前已将此序列号固化,不可更改。它的工作原理是卡上有环行线圈,线圈连接IC组成谐振电路,其频率与读写的发射频率相同。读写器发送电磁波使ID卡谐振电路产生共振并产生电流作用于ID芯片,这就是ID卡的读写原理。国内目前所说的ID卡俗称通常指与EM4100完全兼容的ID低频芯片卡,也有人称为EM卡。
ID卡常用芯片型号有EM4100、EM4102、SMC4001、NT8803、NT8805等。国内实际用量最大的是台湾出产的SMC4001,其次才是瑞士EM公司生产的EM4100。

二、ID卡的常用技术参数
1、工作频率:125KHz
2、内部序列号:5个字节
3、典型应用:门禁、考勤、消费、停车等各种安全要求不高的场合

三、ID卡可按厚度再区分
1、厚卡:厚度1.8mm,厚卡可以喷上各种格式的ID卡号,可以进行丝网印刷,可以另外印刷不干胶贴纸或彩印透明薄膜后贴上去。成本极低,是世界上最经济的射频ID卡。
2、标准厚薄卡:厚度1.05mm,可以双面彩色胶印、打印照片,可以激光或喷印各种格式的ID卡内码或自编流水号。
3、标准薄卡:厚度0.8mm,可以双面彩色胶印、打印照片,可以激光或喷印各种格式的ID卡内码或自编流水号。

ID完全连号卡

一、ID完全连号卡简介
ID完全连号卡是指客户订做的ID低频卡的内部序列号递增或递减,不允许有任何一个断号。ID低频卡的内部序列号递增或递减的方式:可以按照5个字节的16进制内部序列号,也可以按照ABA(8H)格式的内部序列号,也可以按照WG26格式的内部序列号,也可以按照其它格式。技术上都较成熟。

二、ID完全同号卡
ID完全同号卡是指客户订做的ID低频卡的内部序列号要完全同号。ID低频卡的内部序列号同号的方式:可以按照5个字节的16进制内部序列号,也可以按照ABA(8H)格式的内部序列号,也可以按照WG26格式的内部序列号,也可以按照其它格式;可以提供样卡,也可以任意指定一个内部序列号。技术上也较成熟。

远距离ID卡

一、远距离ID卡简介
远距离ID卡的频率一般为125KHz。现在市场采用的多是一种无源、唯一序列号的ID卡片,制造厂家在产品出厂前已将此序列号固化,不可更改。远距离ID卡是为了满足远距离读取ID卡内部序列号而出现的一种过渡阶段性产品,虽然安全性不强,但价格较低,目前在停车场、通道等系统中应用较普遍。

二、远距离ID卡的常用技术参数
1、工作频率:125KHz
2、内部序列号:5个字节
3、读取距离:0.7-1.2米,需配备专门的远距离读头,读取的准确距离与远距离读头的性能有关。

三、远距离ID卡可按厚度再区分
1、厚卡:厚度1.8mm,厚卡可以喷上各种格式的ID卡号,可以进行丝网印刷,可以另外印刷不干胶贴纸或彩印透明薄膜后贴上去。
2、标准薄卡:厚度0.8mm,可以双面彩色胶印、打印照片,可以平码或激光或喷印各种格式的ID卡内码或自编流水号。远距离ID薄卡的读取距离,一般略低于远距离ID厚卡的读取距离

MF1卡(S50/S70卡)

一、MF1卡(S50/S70卡)的技术参数
1、工作频率:13.56MHz
2、存储容量:
S50卡:1024字节,16个扇区,每个扇区4个块
S70卡:4096字节,40个扇区,前32个扇区每扇区4个块,后8个扇区每扇区16个块
3、协议标准:ISO 14443 A
4、擦写寿命:大于100,000次
5、数据保存时间:10年
6、应用范围:在一卡通领域等广泛应用
二、MF1卡读写失误常见问题
①盲目操作:造成某些区块误操作被锁死不能再使用。应当仔细参考控制位的权限后,予先得出操作后的结果是否适合使用要求,并且列出操作顺序表单再操作。最好授权程序员对块3的设置作专人操作。
②丢失密码:再读写时造成密码认证出错而不能访问卡。特别要求在对MF卡进行块3编程操作时,必须及时记录相关卡号的控制值、KeyA、KeyB等,而且应当有专人管理密码档案。
③错误设置:对MF1卡的块3控制位了解不透彻,错误的理解造成错误的设置。目前MF1卡的控制块仅只有8种数据块方问控制权限和8种控制块设置权限,超出这16种权限的其它代码组合,将直接引起错误码设置而使卡片报废。
④极端权限:当块3的存取控制位C12 C23 C33=100或者111时,称为极端权限。除特殊应用外一般不被使用!启用前认真权衡对密码读写、存取控制的锁死是否必要,否则,数据加密后即使有密码也无法读取被锁死的数据区块(看不见)!
⑤设备低劣:低劣的设备将直接影响卡的读写性能。对MF1卡进行块3编程操作的设备,特别要求其性能必须十分可靠,运行十分稳定!建议选用由飞利浦公司原装读写模块构建的知名读写机具!
⑥编程干扰:在对块3进行编程操作时,不可以有任何的“IO”中断或打扰!包括同时运行两个以上程序干扰甚至PC机不良的开关电源纹波干扰等,否则,不成功的写操作将造成某个扇区被锁死的现象,致使该扇区再次访问时出错而报废。
⑦数据出错:在临界距离点上读卡和写卡造成的。通常的读卡,特别是写卡,应该避免在临界状态(刚能读卡的距离)读卡。因为临界状态下的数据传达室送是很稳定的!容易引起读写出错!
⑧人为失误:例如,密码加载操作失误,误将KeyA加载为KeyB;或者是误码将其他制卡厂约定的初始密码值如a0a1a2a3a4a5、b0b1b2b3b4b5加载到本公司生产的MF1卡内;或者在初始状态下(密码A=000000000000【隐藏状态,实际为ffffffffffff】、控制位=FF 07 80 69、密码B=ffffffffffff【可见】),若不经意地将KeyA=000000000000删除后又重新输入12个“0”,并加载了它!这时无意中已将KeyA原来12个隐藏的“f”,修改成了12个“0”,其后果可想而知!
⑨卡片实效:读写均无数据传送,读写器报告“寻卡错误”!卡片被超标扭曲、弯曲而造成内电路断裂。
⑩读写距离过近:与用户使用的读写器性能有关。标准型MF1卡的读写距离可达10cm(在飞利浦公司的标准读写机具上测试的最大距离),国产知名品牌读写器一般可达5~10cm。尺寸较小的匙扣卡,其读写距离当然比标准卡近许多,但只要可靠的读写距离≧5~10cm以上,一般不会影响正常使用!

三、MF1卡(S50/S70卡)的兼容芯片型号
1、MF1 S50、MF1 S70一般指荷兰NPX公司(原PHILIPS公司)的原装芯片。
2、兼容MF1 S50的芯片厂家有上海复旦、上海贝岭、杭州士兰、德国英飞凌(原西门子)、美国ISSI等。
比如:上海复旦公司生产的兼容MF1 S50的芯片型号为FM11RF08。
3、兼容MF1 S70的芯片厂家有上海复旦、北京华大等。

TI高频卡

一、TI高频卡简介
TI高频卡是一种频率为13.56MHz的高频卡,芯片为美国德州仪器公司(简称TI公司)生产。

二、TI高频卡的技术参数
1、工作频率:13.56MHz
2、存储容量:1024字节
Tag-it HF-1 Standard(国内常称 TI 256):32字节
Tag-it HF-1 Plus(国内常称 TI 2048):256字节
3、协议标准:ISO 15693
4、擦写寿命:大于100,000次
5、数据保存时间:10年

三、TI 2048 兼容芯片卡
1、TI 2048一般指美国德州仪器公司(简称TI公司)的原装芯片。
2、兼容TI 2048的芯片厂家有上海复旦、上海贝岭等

一、TM卡(即钮扣卡或碰碰卡)简介
TM (Touch Memory) 卡(俗称碰碰卡或钮扣卡)是美国DALLAS公司的专利产品,它采用单线协议通讯,通过瞬间碰触完成数据读写,既具有非接触式IC卡的易操作性,又具有接触式IC卡的廉价性,是当前性价比最优秀的IC卡之一。

二、TM卡的基本原理
TM卡外形类似于一个钮扣(Button)电池,可镶嵌于卡片、钥匙扣等物体上。
TM卡通过一个多功能器来实现将数据线、地址线、控制线和电源线减为一根线,实现单线通讯。当主机加电时,TM卡通过500,000Ω和50Ω阻抗之间的切换来响应主机,用信号被拉低的时长(长或短)来表示数字逻辑(长为1,短为0),由于阻换切换的幅度为10,000比1,因此,触点的接触电阻不会影响数字信号的辨识。

三、TM卡的部分种类
型号Part No   说明Description    高速暂存Scratchpad
DS1982      只添加存储器        1024位
DS1990AF3/F5   碰触式序号
DS1991L F5    多组碰触式钥匙3个加密区   512位
DS1992L F5    碰触式存储器        256位
DS1993L F5    碰触式存储器        256位
DS1994L F5    带时钟的碰触式存储器    256位
DS1995L F5    碰触式存储器        256位
DS1996L F5    碰触式存储器        256位

DS1991的TM卡与DS1425的TM卡基本兼容。
DS1990的TM卡与DS1990A的TM卡基本兼容。

四、根据TM卡存储器的加密性,TM卡可分为加密TM卡和非加密TM卡
绝大部分TM卡都是非加密的,只有DS1991是加密的(DS1982可编程),并分为三个独立的加密区,每个加密区都有独立口令,因此,可以作为三个独立的用途。
考虑到TM卡的特点,TM卡的加密方式与接触式加密IC卡不同,后者密码位数小,并有误码计算功能,前者密码多达64位,不设误码计数,如果因某种原因忘记密码,可按卡重新初始化后使用,但卡中原有信息将被自动擦除。

复合卡/双界面卡

一、复合卡/双界面卡简介
对于智能卡与磁条卡的简单组合或射频卡与接触式卡的简单组合或低频卡、高频卡、超高频卡三者中任意两者的简单组合及两种协议的高频卡的简单组合,有人称为双界面卡。但对于我们来说,只能说是复合卡,因为不共用芯片组或COS等,只是简单地组合在一起。
比如说:MF1卡(或ID卡)与SLE4442卡的组合,即为射频卡与接触式卡的组合;ID卡与MF1卡的组合,即为低频卡与高频卡的组合;MF1卡(ID卡)与磁条卡(低抗磁条或高抗磁条)的组合,即为射频卡与磁条卡的组合。这些组合,各自的芯片或线圈或磁条基本上各自为政,只能算是复合卡。
现在,随着智能卡的应用场合越来越多,以及避免更换原有老系统,以满足各种特殊的需求,提高整个系统的使用效益,复合卡的使用量逐渐增多。

二、复合卡的常见种类
1、智能卡与磁条卡的复合
接触式IC卡与磁条卡的复合:比如SLE5542与高抗磁条的复合
射频卡与磁条卡的复合:比如MF1 S50与低抗磁条的复合

2、射频卡与接触式IC卡的复合
低频卡与接触式IC卡的复合:比如ID与SLE5542的复合
高频卡与接触式IC卡的复合:比如MF1 S50与SLE5542的复合
超高频卡与接触式IC卡的复合:比如GEN2与SLE5542的复合

3、低频卡、高频卡、超高频卡三者中任意两者的复合:也俗称为双频卡。
低频卡与高频卡的复合:比如ID与MF1 S50的复合
低频卡与超高频卡的组合:比如ID与GEN2的复合
高频卡与超高频卡的复合:比如MF1 S50与GEN2的复合

4、低频卡、高频卡、超高频卡三者复合:也俗称三频卡。
低频卡、高频卡与超高频卡的复合:比如ID、MF1 S50与GEN2的复合

5、两种协议的高频卡的复合:一种机具尽量不要同时读同一张复合卡中的两种芯片,以免干扰。
ISO 14443 A 卡与ISO 14443 B 卡的复合:比如MF1 S50与THR1064的复合卡
ISO 14443 A 卡与ISO 14443 C 卡的复合:比如MF1 S50与索尼芯片的复合卡
ISO 14443 A 卡与ISO 15693 卡的复合:比如MF1 S50与TI 2048的复合卡
ISO 14443 A 卡与ISO 14443 F 卡的复合:比如MF1 S50与LEGIC MIM56的复合卡
ISO 14443 B 卡与ISO 14443 C 卡的复合:比如THR1064与索尼芯片的复合卡
ISO 14443 B 卡与ISO 15693 卡的复合:比如THR1064与TI 2048的复合卡
ISO 15693 卡与ISO 14443 F 卡的复合:比如TI 2048与LEGIC MIM256的复合卡

三、复合卡/双界面的常见外观
标准卡外观:卡片长宽尺寸为85.5mm*54mm,类似于信用卡外观。
非标准卡外观:卡片长宽尺寸非85.5mm*54mm,卡片表面平整。
异型卡外观:奇形怪状的外观,比如钥匙扣形状。

国产4442卡 / 原装4428卡
接触式IC卡简介
智能卡又名IC卡、智慧卡、聪明卡,英文名称为smart card 或Integrated Circuit Card”,是法国人Roland Moreno于1970年发明的,同年日本发明家Kunitaka Arimura取得首项智能卡的专利,距今已有近30年的历史。随着超大规模集成电路技术、计算机技术和信息安全技术等的发展,智能卡技术也更成熟,并获得更为广泛的应用。
智能卡是指将集成电路芯片固封在塑料基片中的卡片,是一种功能多样、用途广泛的电子卡片。卡的基片是由聚氯乙烯硬质塑料制成的,内装集成电路芯片。因集成电路的英文缩写为IC,所以称为IC卡。它可与多种终端设备连接使用,具有多种功能。一般接触式IC卡的通俗叫法为IC卡。

接触式IC卡与磁卡比较非常显著的优势如下:
1. 储存量方面
磁卡最大只能储存几百个字节,磁条也能做为一种被动的储存中介.而IC卡其内部有RAM、ROM、EEPROM、等存储器,存储容量可以到兆字节,可存储文字、声音、图形、图象、等各种信息,并且储存区可以分割,有不同的访问级别.
2. 加密性方面
磁卡没有控制电路,因此其内部的数据读,写无法安全控制,读取技术也是顺序和机械的,而IC卡可以控制电路对其内部数据进行读写,擦除控制、读取技术是随机的。加密IC卡本身具有安全密码,如果试图非法对之进行数据存取则卡片自毁,不可再进行读写。
3. 对网络的依赖性方面
磁卡在使用时要保证终端与主机之间的极强的实时性,一旦主机或网络故障就会使整个系统瘫痪,而IC卡可以储存大量的数据,而且由逻辑电路控制,使用时所有操作全部由终端独立完成, 使其在应用环境中对计算机网络的实时性、敏感性要求降低,十分符合当前国情,有利于在网络质量不高的环境中使用。
4. 使用寿命方面
磁卡使用寿命较短,一般其寿命在两个月到一年之间,而IC卡没有人为损坏寿命可达十年以上.
5. 抗干扰性方面
磁卡在防磁,防静电,防水等方面均较差,而且磁条不能乱擦,而IC卡在这些方面均较强,只是芯片应保持清洁.
6. 防伪性方面
磁卡很容易伪造,而IC卡本身具有极强的逻辑加密外,使伪造率较难.
7. 方便性方面
IC卡读写设备比磁卡的读写设备简单可靠、造价便宜,容易推广,维护方便。
正是由于IC卡具备诸多无可比拟的优点,因此在金融、税务、公安、交通、邮电、通讯、服务、医疗、保险等各个领域都得到了广泛的重视和应用。

接触式IC卡的常见种类
(一)爱特梅尔
1、常见的非加密数据卡:AT24C01A、AT24C02、AT24C04、AT24C08、AT24C16、 AT24C32、AT24C64、AT24C128
这几个型号的IC卡为ATMEL存储卡,是一种不具备加密功能的EEPROM卡,AT24C为系列号,数字部分为K位容量,分别为1K、2K、4K、8K、16K、32K、64K、128K位。它的使用方法与EEPROM完全相同,存储结构简单,只有读写两种操作功能,主要用于存放一些保密性要求不高的数据。
AT24C系列的工作频率为IMHZ(5V),IMHZ(2.7V),IMHZ(1.8V);工作电压为5V±10%,根据要求最低可至1.8V;ICC电流读最大为1mA,写最大为3mA;写/擦除次数为100万次;数据保持100年;工作温度为0-70℃,根据要求可超过指定温度;通讯协议条符合ISO/IEC7816-3同步协议,又向串行接口。
2、常见的逻辑加密存储卡:AT88SC102、 AT88SC1604、 AT88SC1608、 AT88SC153
这几个型号的IC卡为ATMEL加密卡,采用CMOS低功耗技术,具有传输代码、生产代码、密码及错误计数器、熔丝保护等安全保护功能。存储空间分成设置区和应用区两大功能区,应用区又可分为不同的分区,每个区具有各自独立的保密功能。从型号上看,AT88SC为系列号,最后一位数字为应用分区数,分别为2、4、8、3个分区,中间的数字10、160、15为K位容量,分别为1K、16K、16K、1.5K位。其中不同应用分区另有分区密码。AT88SC1604又可分为等分区卡和不等分区卡两种(它们各区和熔丝地址不一样。
二、三、四应用区不等分区卡没有区密码错误计数,而等分区卡有,不等分区卡在性能上比较明显地偏重等一区)。
3、AT45DB041大容量存储卡
这种型号的IC卡为ATMEL存储卡,是一种不具备加密功能的大容量的FLASH存储卡,存储容量为4M位,主存储区有2048页(每页容量为264字节),同时还提供两个独立双向的数据缓存区(每个数据缓存区容量为264个字节),页写方式为264字节,页写入时间为7ms。存储结构简单,主要用于存放一些保密性要求不高、数据量极大的数据,如声音、图像或数据。
AT45DB041的工作频率为10MHZ(最大);工作电压可最低工作在2.5V,工作电流仅为4mA,写为50 mA;数据保持100年;工作温度为0-70℃,根据要求可超过指定工作温度;通讯协议为SPI串行接口方式0和方式3。

(二)西门子:以逻辑加密存储卡为主
1、 SLE4432/SLE4442/SLE5542
容量为256byte。无需密码便可读出整张卡的数据,3个字节的初始密码为“ff ff ff”。有密码错误计数器值为3,卡会死锁,只能读数据不能写数据。
2、 SLE4418/SLE4428/5528
容量为1K byte。无需密码便可读出整张卡的数据,4428 2字节密码,密码错误计数器值为8。
3、 SLE4404
容量为52 byte,一个数据区,容量为26 byte,2字节用户密码,密码错误计数值为4。
4、 SLE4406
容量为13 byte,3字节密码。
SLE4406E是为应用电话卡而设置的,卡片容量为221bit,是与4406兼容的卡片。
SLE4436E与SLE4406/06E比有更强的特性。

HITAG S 卡

一、HITAG S 卡简介
HITAG S 卡也是一种频率为125KHz的低频卡,芯片为荷兰NXP公司(恩智浦)生产,需用专门的读卡器读写。在国内主要用于一些特殊系统中,不常见。
HITAG S 卡分两种:HITAG S 256 卡、HITAG S 2048 卡。
二、HITAG S 卡的技术参数
1、工作频率:125KHz
2、存储容量:HITAG S 256 卡为256字节,HITAG S 2048 卡为2048字节
3、擦写寿命:大于100,000次
4、数据保存时间:10年

使用ttl登录ddnas

在网络接口配置出错的时候,要使用TTL的方式登录ddnas ,这里使用的是PL-2303HX芯片的USB转TTL,步骤:

1.下载驱动

PL-2303HX芯片的USB转TTL 的驱动,在XP中会自动识别为COM4。

2.连接好线

三根,分别是GND<->GND,RXD<->TX ,TXD<->RX。

3.登录

这里使用putty来登录:端口COM4,速度115200,其他的默认。

 

用TTL来登录还可以进行刷固件之类的操作。

openwrt挂载u盘做系统盘

    购入了ddnas,由于自带只有512MB的rom,一番设置安装之后只剩下1MB左右的空间,手上又有个4GB的U盘,打算直接把系统装到U盘上,除开空间大了之外,以后刷固件也不用重新下载和配置软件。把U盘插上去后可以直接识别出来,然后选择挂载为root文件系统,并且一定要把挂载前先进行检查,否则会挂载不成功。