2014年12月21日 星期日

Arduino to Bluetooth module HC-06 for wireless control

Arduino經由BT module就可以做無線控制的功能,可以應用在IOT,遙控車。我在
淘寶買了一個BT module HC-06,花了大約20塊人民幣。我想先做個最簡單的功
能,也就是控制LED。由於還不會寫Android程式,所以先用PC內建的BT來做控
制。我在PC上的終端機,在BT的com port也就是UART,輸入L (light) or D (dark)
字元,然後透過BT傳送到Arduino板子的UART port,當Arduino板子接收到L or D
字元,就會去控制LED的亮暗。

1.由於寫程式需要用到UART port來燒錄,需要先將Arduino UART port接到 USB
   to UART的轉板,然後燒錄下面的程式。BT module對於Arduino的板子來說,
  只是一個UART介面的IC,所以Arduino MCU都是用Serial的函式來與BT module
  溝通。由於HC-06預設的Baud rate是9600bps,所以MUC需要用9600bps來跟
   HC-06來跟它溝通。另外我用到Arduino板子上的綠光LED,當MCU接收到"L"
   就將ledPin設置為1,LED就會亮。當接收到"D",就將ledPin設置為0,LED就會
   暗。

const int ledPin = 13; 
int incomingByte = 0;
void setup() 
{
  // open a serial connection
  pinMode(ledPin, OUTPUT); 
  Serial.begin(9600); 
 Serial.println("Control start, please press L or D");
}
void loop()
{
while (Serial.available()) 
{
  incomingByte=Serial.read();
if ( incomingByte=='L')
{
  digitalWrite(ledPin, 1);
  Serial.println("Turn on LED");
}
else if ( incomingByte=='D')
 {
   Serial.println("Turn off LED");
   digitalWrite(ledPin, 0);
 }
else
{
  Serial.println("Wrong input");
}
}
}

2.程式燒錄完後,就可以連接Arduino板子與HC-05,這時你的Arduino板子已經脫離
   你的PC了。我們只需要接VCC,GND,TXD,RXD 4條線,注意module的TXD要接到
    Arduino板子的RXD,module的RXD要接到Arduino板子的TXD。最後再供外部電
    源5V或3.3V給VCC pin,等於是同時供電給Arduino板子與HC-06。










3.最後我們打開電腦的BT,可以看到您附近有那些BT device,我們選擇連接到
    HC-06後,開啟終端機,就可以看到有一個Bluetooth serial port的選項,點選
    "OK"後,就會出現終端機畫面,這時你輸入keyboard的L或D會出現訊息,而
    LED也會隨著亮或暗。






















注:如果要修改BT module的設定,需要用AT command。我們用USB to UART轉板
        連接到BT module,只需要VCC,GND,TXD,RXD四條線,然後進到終端機模式
        輸入左邊第一排的command就可以來修改BT module的設定。例如輸入"
        AT+PIN1234"就是設定BT module的密碼為"1234",Baud rate也可以修改。
     
command
response
effect

AT+VERSION
OKlinvorV1.6
Gets the version info, no changes

AT+NAMExyz
OKsetname
Sets the module name to "xyz"

AT+PIN1234
OKsetPIN
Sets the module PIN to 1234

AT+BAUD7
OK57600
Sets the baud rate to 57600


Reference:
1.http://wiki.mikrokopter.de/en/HC-06

2014年12月12日 星期五

Arduino to Compass GY-273/HMC5883L 三軸電子羅盤

要在Arduino開發版載入電子羅盤很容易,在網路上有很多相關的網站提供Library與函式,減少入門者開發的時程。下面便是利用網路上的範例程式來驗証HMC5883L三軸電子羅盤。  


1.將Adruino的I2C pin A4,A5接到GY-273的SDA,SCL。GY-273的VCC可以直接接Arduino上的   5V,GY-273支援5~3V輸入。再連接上兩塊板子的GND,硬體設置便完成了。


2.找個blog[1]下載的Library,
3.在壓縮檔內還有一個範例程式HMC5883L_Example.ino,我們可以先用這個程式來驗証GY-273的功能。
4. 當你把程式成功upload到Arduino的板子後,再打開Serial Monitor視窗,就可以看到Arduino從HMC5883L讀到的數值。最左邊是三個軸的Raw data,中間的scaled是將Raw data轉成磁場強度,最右邊這排,便是將Raw data轉成磁角度。



在驗証Library的過程中,如果出現下面編輯的錯誤訊息
C:\Users\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp: In member function 'void HMC5883L::Write(int, int)':
C:\Users\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:110: error: 'class TwoWire' has no member named 'send'
C:\Users\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:111: error: 'class TwoWire' has no member named 'send'
C:\Users\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp: In member function 'uint8_t* HMC5883L::Read(int, int)':
C:\Users\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:118: error: 'class TwoWire' has no member named 'send'
C:\Users\Documents\Arduino\libraries\HMC5883L\HMC5883L.cpp:129: error: 'class TwoWire' has no member named 'receive'
這是因為Arduino版本的問題,在舊版的arduino,Wire的函式是用send,receive指令來收發資料,但新的Arduino是用write,read。要修正這個問題,只要將  HMC5883L.cpp內的head檔
#include <WProgram.h>
改成下面這行, 就可以解決這個問題了。
#include <Arduino.h>




Reference
[1] http://bluelemonlabs.blogspot.tw/2013/08/arduino-simple-compass-with-hmc5883l.html

2014年10月31日 星期五

Arduino first step (by Arduino PRO Mini)


1.到Arduino官網下載IDE 程式編輯器,並安裝。
    http://arduino.cc/en/Main/Software
2. 確認您的Arduino編輯器是如何下載image到你的板子。我在淘寶買了CP2102 7.5塊人民幣,
    還有Arduino Pro Mini 15塊人民幣。由電腦的USB port接到CP2102,轉成UART訊號後燒
    錄到Arduino Pro Mini。


2.一開始先打開範例程式,在選單中的File -> Open,然後再Arduino的目錄底下,進到目錄              examples\01.basics, 我們先選一個最容易驗証的例子,在Blink目錄底下,選擇blink.ino。
3. 選擇所使用的Arduino硬體裝置,在工具列選Tools -> Board -> "Arduino PRO or Pro Mini                 (5V, 16MHz) w/ATmega328"   ,這關係到你用的是那一塊Arduino版子。
4.在打開程式後,可以發現程式非常的簡單,這是因為Arduino已經幫你把很多硬體相關的
   初始設定做掉了。你只需要偵對要做的功能來設定。
5.再來就是將程式燒錄到板子上,只要選擇File->Upload,就會進行燒錄了,同時板子的LED
   也會閃爍。
6. 燒錄完成後,就可以看到程式運行的結果。blink.ino的功能是讓LED亮暗,由於LED是接到                  MCU的pin 13,所以在程式裡,設定PIN13為output。在迴圈的開始,先設定pin13為 high
     經過1秒後,再設定為low,經過1秒後再重覆廻圈。LED便會每隔1秒改變一次狀態。

Reference
1. http://arduino.cc/en/Guide/Windows

2014年10月21日 星期二

The amplifier and speaker spec impact on audio performance 放大器與喇叭的規格對於音頻訊號的影響

當Codec的DAC轉出音頻訊號後,需要經過放大器來增強訊號,再透過喇叭將電能轉為聲能,才能發出聲音。要有好的聲音品質需要注意放大器與喇叭的規格,下面列出一些要注意的規格。

Class-D amp 放大器
Class-D amplifier給speaker的最大輸出功率計算,當VDD=5V,在最理想的情況下,輸出電壓Vrms= 5Vx0.707= 3.535V ,當speaker阻抗在8ohm的情況下,輸出功率為V²/R=3.535²/8=1.562W。在4ohm的情況下,可以輸出3.124W。下圖為TI AIC3262 Class-D Amp output spec,它的最大輸出Vrms=3.46V,輸出功率為1.41W,這是在失真10%時量到的數據,如果增加amp的輸出功率,失真度就會超過10%。另外還有幾個影響輸出信號品質的數據,SNR 、THD+N、PSRR。

1.SNR :訊號與雜訊的比率,在放大倍率為6dB (Vo/Vi=2, 20log2=6dB)的條件下, 量測SNR數
                值越大,表示音頻的雜訊越小。
2.THD+N:總諧波失真+N,就是總諧波失真加上雜訊後與訊號的比值,等於把SNR也考慮
                 進去。比值會小於1,再取log,所以是負數。
3.PSRR:電源抑制比,當放大器的電源輸入端出現雜訊時,會產生多少比例的雜訊在放大器
                 輸出端,表示這個放大器抗電源雜訊的能力,數值越大越好。
4,Po      :最大輸出功率,這需要考慮量測的條件,尤其是在不同的放大倍率與THD+N數值的
                 情況下。另外在設定放大器的輸出功率時,需要考慮後級speaker的power rating,
                 輸出功率大於後級的power rating時,有可能會燒掉speaker。



Speaker喇叭
Speaker的規格書上,我主要看它的幾個參數,dimension, impedance,Power rating,lowest resonant Frequency, S.P.L, FR , distortion.


1.Dimension:在物理條件的限制下,一個Speaker的尺寸大小直接影響它的聲音表現。小尺寸                                的喇叭,很難在低音方面能有表現。
2.Impedance:P=V²/R, 當放大器輸出電壓固定的情況下,阻抗越低,能產生的功率越大。但
                       相對的,消耗的電流也會增加。
3.Power rating:喇叭能承受的功率,如果輸出過大的功率給喇叭,是會造成喇叭燒掉的。
而且越大功率的喇叭,不代表能產出的聲音比較大
4.Lowest resonant frequency:最低共振頻率點,這表示喇叭的低頻點,在這個頻率點,喇叭的   阻抗最大。
5.Output Sound Pressure:SPL表示聲壓大小,需要參考它的測試條件。在下面規格書的例子
提供1W給speaker,可以在距離0.5m處,量到81dB的聲壓。供不同的瓦
、在不同的距離量測,量到的聲壓也不同。這個數據也表現出這個speaker
電能與聲能的轉換效率。
6.Frequency Range:表示speaker輸出的頻寬,在下面規格書的例子是量測每個頻率點的SPL,                               要能大於Average SPL-10dB,才算是在頻帶內。
7.Distortion  :失真度,下面的例子是供speaker 1W,量測1Khz頻率點,失真最多為5%。如果                                提供超過1W的能量給Speaker,失真度就可能超過5%。

上圖為speaker的頻率響應圖,可以看出在頻帶450~20kHz,SPL都在70dB以上。但由於speaker
最低共振頻率點為900Hz,所以900Hz以下的頻率點,失真度都會過高。

Reference
1.http://www.ti.com/product/tlv320aic3262
2.http://www.endrich.com/es/55825/altavoces+din%C3%A1micos?prodnav=2_55825

2014年9月25日 星期四

USB Type-C Configuration Channel (CC) pin function (English version)

USB Type-C Configuration Channel (CC) pin function

When you realized the Type-C Configuration Channel pin function, you would understand the detection mechanism of Type-C. The six items as below are Type-C CC function.
1. Detect attach of USB ports, e.g. a DFP to a UFP
DFP (Downstream Facing Port) is Host, UFP(Upstream Facing Port) is Device. There is a pullup resistor Rp in DFP side and there is a pulldown resistor Rd in UFP side. Before the connecting between DFP and UFP, the DFP VBUS source have no output. After the connecting between DFP and UFP, the CC pin in DFP detected the voltage level of CC pin was dropped by Rd, then DFP know the UFP is attahced,DFP would turn on the MOSFET in VBUS path and supply VBUS to
UFP.


There are 2 CC pin in DFP side, DFP detect the three kinds of pulldown resistance,  Open, Ra and Rd,  DFP can identify the state of connecting accroding to the CC1,CC2 table as below. 

2. Resolve cable orientation and twist connections to establish USB data bus routing
The Type-C can be plugged with upside-up and upside-down. When the DFP detected the CC1 pin was pulled down, it is upside-up plug. When the CC2 pin was pulled down, it is upside-down plug. The figure as below show the MUX is used Type-C USB3.1 signal path switch. Since the data rate of USB3.1 is up to 10 Gbps, we need to add MUX to avoid the trace branch or stub.

3. Establish DFP and UFP roles between two attached ports
Besides the DFP, UFP, the Type-C defined another port, DRP (Dual Role port). DRP can change to DFP or UFP.  When the DRP is connected to DFP, the DRP will change to UFP. When the DRP is connected to UFP, the DRP will change to DFP. When two DRP are connected together, it will be random that one to be DFP and the other to be UFP.

4. Discover and configure VBUS: USB Type-C Current modes or USB Power Delivery
The table as below show the power capability of each USB standard. The pure Type-C can support up to 5V / 3A. If USB PD is combined with Type-C, the power capability can be up to 20V /5A. The USB PD protocol is transmitted over the CC line connection.   

Type-C can support maximum current at 1.5A and 3A mode. How the Type-C port choose which current mode to run? The maximum current depend on DFP output  capability, DFP inform the UFP which current mode the DFP can support by the voltage value on CC pin. The resistance of Pulldown resistor ,Rd is fixed at 5.1K on UFP side. DFP can use Pullup resistor,Rp or current source, IP to produce voltage on CC pin. The variant of Pullup resistance or current will make the voltage on CC pin differentiallyThen, the UFP monitor the voltage on CC pin to know the output  capability of DFP.

Type-C spec define the Pullup resistance and current source for each current mode.
For example, when the DFP provide the 330uA to CC pin, the voltage of CC pin will be 330uA * 5.1k=1.683V. According to the table as below, this DPF  will be classified to be vRd-3.0 by the UFP. When the DFP provide the resistor Pullup to 4.75~5.5V with resistance 10k, the voltage of CC pin will be 5v * 5.1k /(5.1k+10k)=1.688V. This DPF  also will be classified to be vRd-3.0 by the UFP.

The BMC PD controller send the USB PD protocol over the CC pin connection.

5. Configure VCONN
Type-C spec define the Active cable which include circuit inside of the cable and need to be supplied power. There are two CC pin, CC1 and CC2. When one of the CC pin is used for connecting bwtween the DFP and UFP. The other CC pin can be used to supply power to Active cable. The name of this power rail is VCONN. When the DFP CC detected the Pulldown resistor, Ra , the CC pin will be switched from Pullup Rp to VCONN. The resistance of Ra  is 800~  1200ohm. The VCONN need to supply 4.75~5.5v and output power 1Watt.


6. Discover and configure optional Alternate and Accessory modes
Type-C spec define the Alternate and Accessory mode. The Host, Device, Cable can send structure VDM (Vendor defined message) to exchange the information and discover USB ID. When the Host communicated with the device and enter the alternate mode by VDM, The Type-C pin define can be  changed to support PCIe or DisplayPort. The example as below is Type-C docking application. It used MUX to switch one of PCIe and USB3.1 signal to Type-C port. The Type-C port can be used for docking with Ethernet port.

When the CC1 and CC2 are pull-down with resistance ( ≤Ra), the Host know the device is audio device , then Host enter accessory mode and switch USB signal to Audio signal.

Reference
1. www.usb.org  "USB Type-C Specification Release 1.0"

2014年9月24日 星期三

USB Power Delivery Protocol Layer

USB Power delivery定義了Protocol layer,利用Protocol制定的message來溝通。
下面為他們所制定的message格式。


每段message都會有16bits的header用來表示message的類別,如果是data message
,後面會有0~7個Data Objects,而control message被包含在16bits的header裡。


這16bits header的格式如下
Number of Data Objects:它讓接受端知道header後面會有幾個data objects。
MessageID:讓接受端知道,目前是第幾段message,在一開機時,應該為0。
Port Role:表示目前發出message的是0(Sink) or 1(Source)。
Specification Revision:表示發送端支援00(PD reversion 1.0) or
                                         01(PD reversion 2.0)。
Message Type:message分為control與data兩種,而data meesage會在header後面
                           跟隨data object。而conrol message沒有data object。

Control Message:當Number of data objects為0,表示這段message為Control
                                    message。Control message用來做兩端的溝通。


Data message:用來傳送資料。


   有下面四種種類的data object
 Power Data Object (PDO) :
Source端用來送出自已的供電能力,另外當Source端送出PDO,但Sink端發出Reject message來表示Source的供電能力不符合Sink端的需求,Source端可以要求Sink送出
PDO來表示Sink端需要的電力為何。

 Request Data Object (RDO) :
當Source端發送PDO後,例如是12/1.5A,Sink端可以發送RDO來表示自已只需要0.5A。


 BIST Data Object (BDO) :
用來做physical layter test,算是debug mode。

 Vendor Defined Data Object (VDO) :
用來傳VDM,可以知道另一端的Product ID、Cable ID。在確認ID後,如果device支援alternate mode,在Type-C port可以用MUX開關,讓原的USB訊號,改傳PCIE、DisplayPort訊號。如果device為audio裝置,可以從USB訊號PIN傳類比的耳
機訊號。是一個讓USB port延伸更多功能的方式。

Reference
1. Universal Serial Bus  Power Delivery Specification_Revision  2 .0,   V0. 90

2014年9月22日 星期一

DisplayPort for USB Type-C

Video Electronics Standards Association (VESA)在9/22發布在Type-C Alternate Mode支援
DisplayPort。在我的另一篇文章"USB Type-C Configuration Channel (CC) pin function"提到USB PD的VDM (Vendor defined message)可以讓Type-C的host認到device裝置,而進到Alternate mode。

從下圖DisplayPort的圖可以看到,DP包含四個Lane,與AUX channel, Hot Plug Detect訊號。



下圖為DisplayPort Alternate Mode示意圖,當host認到device為DP裝置,便切換MUX/ Configuration Switch,讓原來Type-C USB3.1訊號的腳位,改為傳輸DP訊號。AUX訊號
Type-C保留的SBU1,SUB2來傳。HPD是偵測pin,作用與CC pin類似,所以跟CC pin共用。

如果要完全達到DP的功能,需要4個Lanes。

為了達到USB與DP信號可以同時進行,DP alternative mode也定義了2 lane來達到DP功能,並
支援下面的規格,這兩個lanes需要走USB3.1的通道。
– For DP 1.2a (HBR2), this provides support for 2560x1600 or 2 each 1080p displays。
– For DP 1.3 (HBR3), this will provide support of 4K UHD (3840 x 2160)


DP也支援docking傳輸,可以讓docking只經由Type-C port,就可以輸出DP,HDMI與多組USB訊號。 



Reference
1.http://www.vesa.org/wp-content/uploads/2011/01/ICCE-Presentation-on-VESA-DisplayPort.pdf
2.http://www.displayport.org/wp-content/uploads/2014/09/DP-Alt-Mode-Overview-for-VESA-                 v1.pdf

2014年8月18日 星期一

USB Type-C Configuration Channel (CC) pin function

USB Type-C定義了CC pin,理解了CC pin的功能,大致上就等於理解了Type C。下面六個項目是Type C Spec所定義的CC pin功能。

1. Detect attach of USB ports, e.g. a DFP to a UFP
DFP (Downstream Facing Port)為Host端, UFP (Upstream Facing Port) 為device端。在DFP的CC pin會有上拉電阻Rp,在UFP會有下拉電阻Rd。在DFP與UFP未連接之前,DFP的VBUS是沒有輸出的。當DFP與UFP連接後,CC pin相接,DFP的CC pin 偵測到UFP pulldown Rd,表示接到Device,DFP便打開VBUS的FET開關,輸出VBUS電源給UFP。

DFP可由CC1與CC2 pin的負載阻抗來判斷連接狀態,並偵測它是否接到debug or Audio accessory裝置。


2. Resolve cable orientation and twist connections to establish USB data bus routing
由於Type-C是支援正反插,CC pin被用來偵測正反插,從DFP的角度來看,當CC1接到Pulldown就是正插,如果是CC2接到Pulldown就是反插。在偵測完正反插後,就會輸出相對應的USB信號,例如CC1對應的是SSTX1與SSRX1。下圖的右邊整合了MUX,由於USB 3.1的data rate高達10 Gbps,為了避免PCB的走線出現分支,所以正反插進來的訊號會由MUX來切換,正插時,切換到SSRX1&SSTX1,反插時,切換到SSRX2&SSTX2。


3. Establish DFP and UFP roles between two attached ports
除了DFP、UFP,Type-C spec還定義了DRP (Dual Role port),DRP可以做為DFP也可以做為UFP,可以供電,也可以受電。當DPR接到UFP裝置,DRP會轉換為DFP。當DRP接到DFP裝置,DRP會轉換為UFP。當兩個DRP裝置接在一起,兩個裝置會Random地,一方為DFP,一方為UFP。

4. Discover and configure VBUS: USB Type-C Current modes or USB Power Delivery
下表為Type-C VBUS  輸出選項,USB 2.0, USB3.1,USB BC1.2 是先前USB協會定義的標準,可以跟Type-C相容。USB Type-C current 1.5A與3A是Type-C所定義的,需要有CC pin來做偵測。USB PD的功能還需要有USB PD Phy chip來完成Protocol溝通,而Protocol信號是載在兩端連接的CC pin上。
Type-C如何去決定要執行那個模式呢?這也需要靠CC pin。先前提到DFP會有上拉電阻Rp,UFP會有下拉電阻Rd,當DFP與UFP相接,CC pin上就會有分壓,Rd是固定5.1k,而Rp就會依照DFP的類別,而有不一樣的阻值。UFP會monitor CC pin上的分壓來知道DFP的VBUS種類。另外DFP也用不同大小的定電流源來供給CC pin,當電流流到uRd,同樣可以產生電壓,讓UFP知道DFP的VBUS模式。

Type-C spec定義了DFP在不同模式下,在CC pin要供多大的電流或是要用多大的上拉電阻Rp阻值。
在UFP是由CC pin上的電壓,來得知DFP的VBUS輸出能力。例如DFP為5V/3A,它可以在CC pin上供330uA的電流,在UFP端的CC pin上就會得到330uA * 5.1k=1.683V,UFP就可以判斷
DFP為vRd-3.0。或是DFP用一個上拉電阻10K到VBUS,UFP端的CC pin上的電壓為
5v * 5.1k /(5.1k+10k)=1.688V,UFP一樣可以判斷DFP為vRd-3.0。


USB Type C也支援USB PD,而USB PD的Protocol會轉為BMC的信號,在CC pin上傳輸。

5. Configure VCONN
CC pin有CC1,CC2,當其中1 pin被用來做DFP,UFP之間的連結,另1pin用就來供VCONN。由Figure4.5可以發現,當Cable內將另一個CC pin接一個下拉電阻Ra,這表示這是一條主動式Cable,需要被供電的。DFP偵測到Ra,便會輸出VCONN在CC pin,供電給Cable。Ra的阻抗是定義為800ohm ~1200ohm。
6. Discover and configure optional Alternate and Accessory modes
USB PD的VDM (Vendor defined message)功能,可以讓host與device認到對方的ID,而進到alternate mode.,VDM也是透過CC pin來傳輸的。下面為一個Alternate mode在Dock的例子,system認到dock裝置,知道dock有PCIe裝置,於是system利用Type-C的SBU1/SBU2、Tx2/Rx2來傳輸PCIe信號。



當CC1與CC2 pin上各接一個下拉電阻,阻值≤Ra,這表示system接到了Audio Accessory,system
進到accessory mode。如下圖,Type C的CC pin接到耳機的DET pin,當耳機插入時,DET pin被拉到low,system進到accessory mode。system需要自動切換Type C上的訊號,讓DP/DN甩來輸出耳機的左右聲道。SBU1/SBU2用來作MIC/AGND function,依照system是支援OMTP或CTIA的耳機。



Reference
1. www.usb.org  "USB Type-C Specification Release 1.0"

2014年8月17日 星期日

USB Type-C feature


USB Type C的spec在8/11已經在USB.org發布,Type-C有可能會取代傳統的A/B type
,讓我們由spec來分析Type C的特色。


1.支援正反插
由下面的Type C connector pin define可以看出Type C 斜對角對稱。當接頭正插時
,與A排接觸,反插時,與B排接觸,所以USB訊號正反插都可以通。


 2. CC signal
    在Type C多了一些訊號,CC、SBU、VCONN,最重要的是CC signal。
下面是spec列出的CC signal function
1. Detect attach of USB ports, e.g. a DFP to a UFP
2. Resolve cable orientation and twist connections to establish USB data bus
    routing
3. Establish DFP and UFP roles between two attached ports
4. Discover and configure VBUS: USB Type-C Current modes or USB Power
     Delivery
5. Configure VCONN
6. Discover and configure optional Alternate and Accessory modes

3. Power supply
Type C除了可以跟其他的USB規範相容,TypeC還定義了輸出電流1.5A與3A的
規範,比之前的USB輸出電流還大,這個功能需要由CC pin來做偵測。另外
Type C也可以支援USB PD,但這需要系統裡有含USB PD PHY的 IC。

4.尺寸 dimension
Type C接頭比傳統的A/B type小很多,所以也可以用在手機、平板。

5.支援USB PD
    Type C利用CC pin來傳輸USB power delivery protocol信號,與Type A/B不同
。Type A/B是由VBUS來傳輸USB PD protocol信號,所以需要加zisolation電感
來濾掉高頻的protocol信號,使得電源只剩低頻的直流信號。






Reference
1. www.usb.org  "USB Type-C Specification Release 1.0"