2018年8月21日 星期二

觀霧山莊: 一個維持十年的夏季之旅

        十年前剛出從出社會工作沒多久,高中損友國清與他剛認識的女朋友也不知道什麼理由說要來一趟夏季之旅,那一年我記得我跟我的女朋友Emily兩對"男女朋友"一起約出墾丁,後來莫名其妙說相約隔年在一起來趟夏季之旅,就這樣持續了十年...................

十年前第一次出遊

        今年算是比較特別的一年,這次五對夫妻上山避暑敘舊,10年前的熱戀情侶到10年後的新婚夫妻,一樣的人不一樣的感受,這年紀剛好現在是家庭與工作最繁忙的年紀,也不方便約過夜太多天的,這次我們選了觀霧山莊,海拔超過2000夏天去雖然景色稍微平淡,就綠油油的一片,但因為晚上天氣只有套上薄外套也部會太冷。
正式邁向沒有情侶檔的出遊


       除了我之外大家都在台中上班工作,因為大家也都要邁向不惑之年,所以行程規劃上走輕鬆路線,九點在竹東阿胖豆漿吃個早餐,這家早餐也是看網路介紹過來的,果然是人氣早餐店,都九點多了還有人在排隊,現在流行吃Brunch嗎? 點了韭菜蛋餅與韭菜粄條,基本上兩個內餡是一樣的,只是包的皮不一樣,但口味真的不錯,豆漿也很濃,有來竹東是值得來吃的早餐店。
竹東阿胖早餐

        吃完早餐就從竹東出發前往中繼點張學良故居,說是故居也只是好聽,就是晚年軟禁的地方,竹東沿路上來路窄腹地下,這裡算是河堤腹地較大的點,也是整段路上比較大的休息點,前幾年來原本還有一座吊橋,但現在似乎已經不在了,張學良故居也換了地點,附近走走看看泡泡腳大概打磨一個小時的時間,吃個中餐再出發往觀霧山莊出發。

張學良故居
將軍湯
  
        老王客棧可能是這個點規模稍微大一點的餐廳,菜單並沒有什麼突出的地方,但口味出奇的好,每一道菜都相當可口,煙燻過後的山豬肉,皮肥瘦鹹搭配得很好,搭配白飯不會讓人覺得油膩與過鹹,剝過殼的鮮蝦,山菜油雞每道家常菜都處理得不錯,是如果下次路過會想讓來再來光顧的一家店。
老王客棧

        吃過中餐就往今晚住宿的地點觀霧山莊前進,觀霧之所以為觀霧我想名字就已經夠清楚了,開了半小時山中開始起來大霧,加上遇到爬山下山的人巴士,雖然是20人的中巴,但可以看到一路上都會遇到會車的瓶頸點,如果不常開車的朋友,最好是約個開車技巧好一點的朋友一同前往,避免會車卡住造成路況阻塞。
雲霧繚繞的路況

        一路開了快兩個小時,終於來到觀霧山莊,看著快爆開的洋芋片就知道我們到了,觀霧山莊海拔約莫2000公尺,山莊附近有許多老少咸宜的步道,而且超多人騎腳踏車上來,我開車都覺得遠了,竟然有人可以騎腳踏車上來,真是佩服萬分。
海拔檢測工具

        觀霧山莊的房型有分雅房與套房,雅房需要使用外面的廁所,但如果不習慣的朋友還是不建議,因為觀霧山莊的廁所有提供登山旅客使用,但上山的旅客似乎有點超過負荷,本身味道有點強烈,而且晚上要上廁所看到一推飛蛾飛來飛去(熄燈後蛾有趨光性),沒有見過的人可能會不能適應。


        觀霧山莊住宿提供晚餐與早餐的服務,餐廳意外的好吃,幾年前去宜蘭翠峰山莊也是,怎麼國家公園裏面的伙食都弄得這麼棒,難怪房間這麼搶手,如果秋天來看著秋瑟的山嵐雲霧變換一定更美吧。
觀霧山莊晚餐

        晚上在山上天氣好的時候可以躺在外面看看星星,或在房間裡面打屁聊天,另外雖然山莊有便利商店賣些零食飲料,但是只有營業到下午四點半,所以要買要趁早或自己從山下帶上來,而且因為附近似乎有中華電信機房,這裡的4G網路非常快,下載可以穩定衝到100M,如果你是那種離囂不離塵的俗人,帶著筆記型電腦在星空下辦公也是挺......機掰的。


       

        清晨一早陽光普照,在散步完後吃完早餐竟然看到附近的道館有怪力團體戰可以打,在吃完早餐後就開車前往登山口捕抓怪力,路口處還有整裝待發的登山客想說這台車怎麼停在這裡這麼九也不下車覺得莫名其妙吧,整個觀霧山莊與林道有很多Pokemon Go的補球點與道館,如果你想要邊健行邊抓捕抓神奇寶貝,滿格的網路與補球點也是很適合全家健行的地點。
觀霧林道打團體戰

        回程的路上在山椒魚與旅客中心挑選了一個最輕鬆的步道悠閒的結束這趟山中的旅程,沒想到這活動就辦了十年,每次都想要弄個三天兩夜或五天四夜,但不是自己不行不然就是誰不行,但想想目的只是大家一起出來走走,去哪去多久其實也沒那麼重要? 

        下個十年,會在哪裡呢?









2018年8月6日 星期一

USB to MIPI RFFE Controller/Dongle DIY and Error Detection Register

前言

        上一篇講了MIPI RFFE,原理是類似I2C two wire的控制介面,雖然這個介面推出了10年了,目前手機RF Front End周邊也幾乎都是採用這個介面,從天線開始數Antenna tuner (Capacitor Array), Temperature Sensor (幾乎跟PA module 整合再一起), Switch module, PA module, RX diversity module, Envelope Tracking IC等等,但有時候要單獨看每一顆元件的特系就比之前麻煩了一些。
       比方說之前拿到一顆Switch Module EVB,控制pin為GPIO,所以我只需要一台電源供應器提供 High/Low訊號 (for example 3.3V/0V)就可以來測試驗證這一顆Switch的特性,但是如果是MIPI RFFE介面,那就有點麻煩了。

https://mipi.org/sites/default/files/MIPI%20RFFE%20Spec%20Brief%20.pdf
        如果是I2C元件,直接在淘寶 Taobao 上搜尋"USB to I2C"就會列出一推配件,價格差不多200台幣就可以買到,常用的Two Wire通訊協定
USB to UART, USB to I2C, USB to SPI, USB to GPIO.......
但就是沒有
USB to MIPI RFFE


         Google "USB to MIPI RFFE" 可以找到的規格是SignalCraft SC4410系列,現在我工作上也是用這個,價格說高不高,大概是一隻入門iPhone8的價格,支援虛擬COM Port,所以可以直接透過超級終端機等軟體就可以下指令操作。

http://www.signalcraft.com/products/scout/
        除了價格貴一點點外,前陣子遇到一個小問題需要故意送錯誤的指令確認DUT是否能夠正確識別這指令(Error Detection)。  這就有點困擾了,寫信去問對方說這功能可以客製化,但要收取工程費用NRE Expense (Non-Recurring Engineering Expense),價格就是那種要打發你的價格,既然這樣就只好自己動作做一個了。

硬體 USB to UART IC + AT89S51 + Level Shift

        當初接觸8051是第一份工作合約滿到期 (2010左右吧在手機廠當RF工程師),那時候換跑道但又不知道自己能做什麼,當時最夯的就是embedded system,因為當時只會tune tune RF matching與表哥聊了一下就想說先從最基本的8051入手,先了解一下,於是就報名了自強基金會的課程學學用C來寫霹靂燈以後可以安裝在機車上。

        8051容易取得,加上新的ATMEL 89S51可以像讀寫SD卡重覆燒錄,而且燒錄器非常容易取得,搭配Keil C可以用熟悉的C語言去撰寫程式,雖然又經過10年,已經有更強更方便的方案,但我覺得無論選哪一個方案,重點是選一個然後動手吧 Just Do It...........

      回到正題選用8051當然是目前也只會這個,中間一直想找時間去學FPGA與ARM MCU,但沒有找到動力源,現階段工作不會馬上需要,也沒有換工作空虛寂寞(其實是閒閒沒事做),但是還是蠻推薦新手可以從 Keil C+ Atmel 8051系列開始:

    1. Keil C可以免費下載 (有2k限制),是printf ("Hello !"); 進入到實際硬體輸出
    2. ATMEL 80S51 容易取得周邊電路也簡單 (麵包版就以實驗)
    3. 燒錄工具取得容易,淘寶或拍賣隨便搜尋就很多
    4. 範例多而且容易閱讀,畢竟8051是在1980年就誕生了。

整個Hardware配置如下

    1透過Windows PC USB 連結 PL2303(常見的USB to UART Adapter IC)
    2. MCU 8051收到來自PC的指令後,轉換成MIPI Serial Command 餵給Level Shift IC.
    3. 因為8051是Open Drain 5V控制訊號,MIPI Device大多為1.8V or 1.2V的準位。
    4. 然後訊號再傳送到Slave DUT
    5. 如果是讀取指令Slave再回傳訊號到MCU
    6. MCU在透過UART送回給PC然後顯示在螢幕上。
 


MIPI RFFE FRAME FORMAT 

        MIPI RFFE或I2C這種Two Wire Serial Communication的架構都是Master在發送同步Clock訊號,在程式編輯輸出pattern這邊要注意的是資料(Data)變化的時序點(Timing)。
        下圖為MIPI RFFE and I2C的時序圖,因為剛好這兩個差異相反。

mipi rffe : data change after rising clock edge.
i2c          : data change after falling clock edge.

mipi rffe : data ready to read/write after falling clock
i2c          : data ready to read/write after rising clock.

        其實可以從idle status的狀態來判斷,i2c需要一個pull-up resistor,所以在idle狀態會因為pull-up電阻拉到高準位,所以開始與結束bus上面的電位都為high,所以從high level開始一個clock cycle就是falling then rising.
        mipi clock 因為是CMOS I/O,一開始準位為0 (pull down resistor),idle狀態會從低電位開始,所以一個clock cycle為rising then falling.
     

Parity Bit

    MIPI RFFE Parity Bit包含Parity Bit本身為奇數odd. 上一篇提到MIPI本身寫入Frame就有三種Command Frame.
1. Register 0 Write (只能寫入D6 ~ D0)
2. Register Write
3. Extended Register Write
    如果我們對Slave ID為0xF 0b1111,Address 0x00寫入0x07 , 0b00000111,如果device有支援分別可以用上面三種write command sequence寫入。
1. Register 0 Write
    1111  1  0000111    Parity Bit為 1
2. Register Write
    1111  010  00000 Parity Bit 為 0
 

3. Extended Register Write
    1111  0000  0000 Command Frame Parity Bit為1,另外Extended Register Write BC[3:0]是代表後面要連續謝入多少筆資料,最少一筆0b0000, 最多16筆0b1111.

https://www.onsemi.cn/PowerSolutions/document/TCC-202-D.PDF

Slave Register Mapping and Error Detection 

        底下是OnSemi TCC-202 datasheet的內容(google就找的到了),MIPI RFFE定義Slave Register Mapping.
1. 0x00 (特別拉出來是因為要支援Register 0 Write)
2. 0x01 ~ 0x01B : 使用者自行定義
3. 0x1C : Power Mode and Trigger Control,MIPI RFFE有shadow register,這個Register可以決定寫入的指令是要寫到Shadow Register等待Triger Bit啟動後,資料才從Shadow Register搬運到對應的Register位置。  
4. 0x1D : Product ID (這是每一家公司可以內部自行定義產品的ID)
5. 0x1E : Manufacturer ID 一間公司可以註冊一個特有的MID.
6. 0x1F : Unique Slave Identifier Register USID: 總共4bits,每間公司可以針對不同mipi產品定義不同的USID,就跟I2C Slave ID是一樣的意思,雖然只有4 bits,如果同一組MIPI RFFE Bus上有衝突的時候,因為Manufacturer ID和Product ID也不一樣,可以透過特指令修改。 
https://www.onsemi.cn/PowerSolutions/document/TCC-202-D.PDF
        在MIPI RFFE規格書裡面,還有特別提到Error Detection and Handling,雖然沒有強制規定要怎麼實現,但在手機晶片霸主MTK的最強對手Qualcomm高通,在給3rd party 文件中有對Error Detection特別定義,後來可能大家就形成共識都設計在同一個Register位置0x1A, 如上面0x1A上面的描述是MIPI-RFFE Status: Detect MIPI Protocol Errors。
        底下是我節錄的內容,比方說0x1A Bit6 CFPE,他是Command Frame with Parity Error Receiver. 也就是說當接收指令發現Command Frame這段Parity Bit有錯誤的時候,這個Bit會變成1,而且忽略這指令。

USB to MIPI RFFE Adpater

        最後是用AT89LP51搭配22MHz Clock,原生8051的架構要12 Clock週期才能完成一個動作,但後面其實有一些變形機種,Atmel AT89LP51這一顆就是 1 Clock週期就可以完成一個動作,(這裡的動作並不是i=i+1; 這樣,因為實際i=i+1要把它拆成組合語言來看),但簡單說速度大概會是原本相同clock速度下8051 4-6倍的處理速度。

        這裡桌上剛好有一塊AIROHA AP6716M-51 高功率High Pout, 高效率High Efficiency, 高性能 High Performance, 高品質High Quality 射頻前端模組RF Front End Module,適合應用在 4G LTE 智能型手機Smart Phone,兒童手錶等相關應用上,建議搭配AIROHA AP7219M-71 系列有最佳的效能體驗。



        因為USID只有0x0 ~ 0xf 16種,即使手邊沒有datasheet我們還是可以試一下找出USID是多少,我們讀取0x1E Manufacturer ID的資訊,發現讀出MID 為0x49,上http://mid.mipi.org/搜尋一下可以知道這顆優質晶片的製造商是AIROHA Technology Corp.

Error Detection Verification 

       現在我們來驗證一下Error Detection Register,左邊我們先對AIROHA AP6715M-51 register address 0x00 寫入0x00,然後再去讀取Error Detection Register 0x1A,可以發現0x1A的值為0x00.
        一樣的動作我們這次故意設定錯誤的Command Frame Parity,一樣的動作在執行一次可以發現原本的讀回來的Data變成0x40,也就是bit6變成1,這個bit代表Device收到的指令command frame parity bit 有錯。

        這次改在故意設定錯誤Data Frame Parity Bit在看一次結果,在讀取一次可以看到0x1A變成0x08,bit3變成1,表示Device正確識別了剛剛指令錯誤的地方。

        這次的介紹就到這裡,下次有機會再聊聊囉

2018年7月25日 星期三

MIPI RFFE Introduction and two wire communication/serial communication UART, I2C

Serial Communication and Parallel Communication

        我們要怎麼把一個8 bits的資料從A傳到B,最佳簡單的方式就是拉出8條線,每條線代表一個bit來傳輸,然後再加一條控制訊號線來控制這時候是讀入或寫出的動作,所以每一次動作都會傳送8 bits,這個我們一般稱作parallel communication. 並列埠 很早期的印表機,硬碟IDE或GPIB都是用這樣的傳輸介面。
Parallel Communication 
        另外一種傳輸技術稱為serial communication 串列埠,與parallel想比,所謂的串列與並列是指資料的排列結構,parallel是代表D7 ~ D0 並聯同時傳送,串聯是指一次傳一個bit,先傳D0然後D1....依序傳送D7,然後在接收端在整合成一個byte,資料傳送是一個接一個,串起來傳送,USB就是一種serial communication的介面。
Serial Communication
        Serial Communication與Parallel Communication的優缺點直觀上很明顯,Serial Communication的接線明顯比Parallel少,但如果傳送的clock rate一樣的話,速度Parallel Communication以上面的例子來說一次clock可以傳送8bits, 但串列傳輸只能傳一個bit,速度差了8倍。

two wire communication 

UART Tow Wire or One Wire x2 

        上面的例子是單向傳輸,所以需要一條訊號線Tx,如果要接收的話就需要另外一條線Rx. 這時候兩個設備的接線就為TX, RX 兩條線 (其實GND也算一條線,但是一般不會加進來算)。以UART Universal Asynchronous Receiver and Transmitter通用非同步收發機,因為TX and RX是分開的,所以可以達成雙向溝通,但裡面有Asynchronous非同步其實代表訊號不需要Clock來同步。
         非同步的傳輸本身就會有一個問題,那就是你怎麼知道傳送過來的訊號是1還是11或是111呢? 以下面的為例子,如果接收機是負緣取值negative edge/falling edge,接收機本身的clock速度會影響對訊號的解讀,所以UART在傳輸的時候都要設定Baud Rate. 也就是雙方要先確認彼此資料傳輸的速度才行。

Baud Rate
        這樣的架構如果Receiver是個被動讀寫的裝置(Slave),妥善安排傳輸協定,本身可以完成one wire傳輸,簡單的概念就是有一個主控端來條控這條線上面誰來傳送資料,接收端被動接收指令。
        以下面的例子,Master端先對Receiver (Slave)傳送要求讀取的指令,傳送完後Master等待Slave回傳資料,這樣就不會有一條線上同時兩端都在發送訊號的情形發生。如果用生活中的例子比方說電影看到的對講機,就是類似的道理,其中一方老鷹要先呼叫小雞一樣,

老鷹呼叫小雞
收到請回答
Over

然後放開發射鈕後等待話筒傳來小雞回覆,

小雞回覆老鷹
Over

而且每次講完的時候都會說Over來代表這句話的結束,其實Serial Communication的原理就跟這個很像,雙方要協定好如何溝通。

I2C Two Wire 

        延續one wire communication的概念,另外一種類似one wire傳輸的方式是在原本one wire上面加入了一條clock同步訊號Synchronous,有別於非同步Asynchronous的概念,發射訊號自帶Baud Rate,所以接收端不需要知道對方的速度是怎樣就可以達成。
        Clock會由Transmitter (Master)提供,因為大家會看到同一個Clock訊號,雙方可以利用Clock訊號協定通訊協定,以I2C為例因為本身idle的時候是高準位(pull-up resistor),在傳輸過程是以clock rising edge的訊號來判斷可以讀取Data上面的資料,falling edge的時候是data轉換過程。
        與UART/One Wire Communication相比,因為Clock由Transmitter決定,也就是clock rate已經被決定Receiver端不需要先設定或知道Baud Rate是多少? 而且Receiver端也可以不用內建clock generator。
        因為有兩條線Clock and Data (其實還有GND啦),所以通稱two wire communication.

        I2C當初在發明的時候是為了要連結多個周邊電路,所以如果有多個Slave元件串接再一起,Master只需要拉出兩條線Clock and Data (其實還有GND啦),所以通稱two wire communication. 
        multi device在溝通的時候,原理其實跟一推人用對講機一樣,有一個主控中心(Master),當老鷹呼叫小雞的時候,要求回覆所在位置的時候,用場的每個人都會聽到這段指令,但因為指令裡面是指定小雞回應,所以只有小雞會回答位置,在回答位置的時候,其他母雞與公雞也都能聽到這段話,但他們會注意的關鍵字是
Over
因為聽到Over後他們要在聽專注下一段話是不是老鷹在呼叫。

        底下是I2C Read Register的Protocol (from TI),第一個byte包含7bits的Slave ID,然後1bit R/W來決定這個是讀或是寫,然後後面跟著要讀取的Register Address 兩次......別問為什麼兩次這就是協定,然後就是Slave等待回應Data. 傳後完後一個Stop (Data)。


MIPI RFFE

        MIPI RFFE是MIPI聯盟下的其中一個通訊協定,MIPI Alliance主要是促進手機通訊介面一致化,這個也協助手機業後面快速發展的一個推手,最主要的目的是統一介面,某種程度上如果你手機製造商用了A家的面板,但如果想要換B家如果兩家的介面都是不一樣的,那製造商勢必要花時間來開發B廠商的驅動程式,其實可以想像IC與IC之間的USB,大家都走一樣的傳輸協定,無論是鏡頭的開發者或顯示器的開發者都可以專注在本業上面。
        MIPI RFFE 為RF Front End的縮寫,目的就是來控制這些周邊射頻元件,整個通訊協定與I2C類似,也是two wire communication的架構(Clock and Data)。
Fundamental features
  • High performance (up to 52 MHz bus speed)
  • Low power
  • Low EMI
  • Point to multi-point
https://mipi.org/specifications/rf-front-end
      會有MIPI RFFE的產生其實與智慧型手機發展有關,手機在2G雙頻,四頻到3G 4G,又要支援CA等等,當初入門的3G手機,TXM就有六個TRX Port, IDLE HBTX, LBTX 9種狀態,所以至少要四條控制線(GPIO)來控制這顆元件,但當你其他元件進來的時候所需要的GPIO就越來越多,而且因為全部都是從Modem接出去,整個PCB布局的複雜度也會隨著元件數量往上提升,但如果改用MIPI RFFE (two wire bus),每顆元件就只要三條線.....多一條是因為還要有電源Vio,在布局上面因為是串聯所以彈性也比較大。
        

GPIO vs MIPI RFFE
        那為什麼不用I2C就好了呢? 這邊有幾個比較重點的理由,
1. MIPI RFFE不用pull-up and pull-down電阻
2. 整個Protocol是為了手機量身訂做,比方說有制定Broadcast Trig協定,在時序要求精準的通訊系統可以有更精準的Timing控制。
3. 可以動態修改USID,MIPI USID為4個bits,在同一個bus上面可能會遇到相同的USID,但MIPI 有制定獨一無二的Manufacturer ID還有自訂的Product ID,所以系統可以透過特定的程序在開機的時候動態修改USID,方便在更換不同廠商pin to pin元件的管理。
4. Clock Rate up to 26MHz. (這大概是最重要的一點吧)
http://mid.mipi.org/
         底下是GMSK傳輸的時序圖,其實無論是2G, 3G, 4G,傳輸的單位都是以一個Time Slot來區分,因為移動通訊手機與基地台的位置會一直變化,傳輸的功率與內容要一直隨著環境的改變來調整,所以每一個Time Slot的傳輸過程如果以傳統的GPIO,Rising Edge訊號打開,Falling Edge訊號關閉,如果改成I2C的話最大的問題會是傳送一個command總長度是多少?
        以一個I2C寫入的指令8bits slave ID, 8bits address, 8bits data. 不含Parity Bit總共需要24bits來完成一個指令傳送,如果clock rate為 100kHz, 那一個clock tiime為10us, 送完一個command所需要的時間為240us.
24*10us  = 240us........
        這樣的速度是沒辦法應用在行動通訊上面的,如果clock rate拉高到10MHz, 那一個clock cycle時間就會縮短到0.1us. 送相同的指令就會縮短到2.4us. 這可以滿足目前行動通訊slot to slot之間的要求。
24*10.1us = 2.4us

        底下是MIPI RFFE Write Frame,另外MIPI RFFE對Register 0還會特別設計一個Frame,跟一般的指令Write相比,同樣要對Register 0寫入
特別指令Register 0要敲的bit數為:          16bits
一般指令Register Write要敲的bit數為:   24bits.
如果有對timing控制特別敏感的,指令長度還是快了一些,因為大部分device開關的logic table都會設定在register 0的位置。
        下次有時間再來聊聊MIPI RFFE的一些無聊的設定還有MIPI Alliance新制定的I3C吧
        


2018年7月8日 星期日

ZYXEL MULTY X WIFI MESH 開箱 使用心得

        隨著時代的進步,網路速度終於到真正可以支援影音串流,家中第四台剪掉一年多,發現其實生活中可以不看第四台,沒有必要拿著遙控器一直轉台轉一圈還不知道要看什麼? 就選自己要看的節目看就好了。


        老媽目前也都是看Youtube上面的節目,但電視經常被她的孫子霸佔,常常只能用手機看節目,就買了一台平板要給老媽追劇,想說家裡的WIFI AP也很久了,在用Chromecast看Youtube的時候也卡卡的,順手也刷了一台....應該說兩台ZYXEL Multy X。

        這陣子WIFI Mesh網路正夯,但普遍都是雙頻系統,如果對802.11有了解的都會知道,2.4G與5.0G的頻寬20MHz vs 80MHz是不同等級的,如果要達到Mesh網路之間不卡關,一個專屬5.0G的Channel是比較務實的,不然AP又要跟一般手機平板通訊,又要跟AP通訊,加上WIFI是TDD系統,也就是每個通訊是大家去分時間的(TDD),所以在802.11ax來臨之前,一個專屬的通道是比較務實的做法。

        另外如果是802.11ax,我覺得雙頻mesh網路可能又是另外一層光景,有機會再來打打802.11ax到底有什麼神奇的地方。




        原本家中用的是ASUS RT-N12 HP,因為AP是放在2樓,但電視是放在一樓,平常視訊人也在一樓居多,但中華電信主機是在二樓,而且平常也會在二樓的房間,方便安裝WIFI AP就放在二樓,那時候怕訊號不夠強所以買了一個看起來很嚇人的大天線版本,再加上2.4G低頻穿牆特性比較優,所以整棟樓收訊都還算可以。

        在更換前先用手機的WIFI分析儀看看每個角落收到的訊號大小(dBm),手機是我覺得難用到爆炸的SONY Xperia XZs,先比較只有一台的狀況,另外說一下WIFI Mesh應該是NetGear Orbi那台比較紅,但因為那一台軟體有主副機的差別,我買這一組也是想著如果不需要兩台我另外一台可以單獨使用。

        可以看到可能因為大天線在不同樓層之間收訊還是可以看到好處,三樓原本華碩那一台會收的比較強,但一樓客廳部分是沒有太大的差別,而且可以看到5G訊號穿牆就是一個悲劇,整個Level就是差了10dB. (10dB代表訊號強度差10倍.....10倍喔)
        當然如果裝這一台,說實在就根本不用換,接下來在一樓再放一台Multy X,現在蠻多產品都是透過Bluetooth來設定,下載對應的APP過程分常簡單,你不需要找一台電腦,然後街上網路線,設定192.168.0.1 (如果知道我在說什麼就代表你是巷子裡的)來設定。

        只要找個有電源的地方,然後透過手機APP就可以完成設定,另外現在WIFI MESH機種幾乎都支援相同SSID,你不用在特定指定那一個設備要用2.4G那一要用5.0G,手機與平板上面只會有一組SSID,如果家裡使用的WIFI設備多,其實是個非常實用的功能。

        設定完之後1F無論是2.4GHz 或 5.0GHz都是訊號滿格的狀態,但這有個問題存在,訊號滿格是你在1F放了一台AP,隨便買台便宜的AP也會有同樣的效果,說實在是這樣沒錯,而且測試軟體其實會同時看到兩台相同名稱SSID訊號,所以讀到比較強的一定是2F發出來的那一台。
        ZYXEL APP上面可以直接診斷網路之間的傳輸能力,可以看到兩個結點對外的網路能力是卡在中華電信光世代60M/20M上面,重點是兩台Multy X之間的回傳能力(Back haul),可以看到傳輸速度竟然還有在400Mbps。
        因為一開始用手機抓一下訊號強度只有-70dBm左右,雖然沒有工程模式來確認實際跑的調變訊號是什麼,但應該會落在MCS0 ~ MCS3之間 (BPSK or QPSK)。

From NI Document Introduction_to_WLAN_Testing.pdf

        這也是我為什麼強調現在Mesh要買就買三頻機種,從規格書看來ZYXEL MULTY X在5.0GHz 設定了4 TX的設定,因為兩台AP安裝後地點是相同,所以比較容易得到穩定的理論值,所以就算速度從1733狂瀉到468等級,也是足夠應付家中光世代速度。

https://en.wikipedia.org/wiki/IEEE_802.11ac
        實際使用起來,速度感覺有比之前穩定,我覺得這款產品除了價格外目前是沒有什麼好挑剔的,安裝起來也很方便,當然拉線到每個樓層是最直接的做法,但安裝上就比較受限,而且不知道這種產品有沒有支援區域網路互相溝通的功能?

2018年4月8日 星期日

無線充電與電池壽命Wireless Charging (Qi) and Battery Life

        今天科普小教室來聊聊無線充電Qi與電池壽命Battery Lifespan,前陣子Apple因為偷偷降速被抓到,鬧得沸沸揚揚,解釋說是避免系統無預期關機,但大家都不買單,剛好最近入手了一隻iPhoneX有支援無線充電,剛好網路上有一篇文章說無線充電會增加電池循環充電次數降低電池壽命,真的會嗎?

外媒 6 個月實測 發現 iPhone 8/X 無線充電可能加速電池老化

iPhone X/8: Wireless charging will wear out the battery faster than cable charging

        文章裡面主要提到使用無線充電為iPhone充電,四個月充電循環高達82次,推算18個月會到達500次充電循環 Recharging Cycle? 聽起來很嚇人是吧? 好像18個月後手機就會壞掉的感覺。

ZDNet 的編輯 Adrian Kingsley-Hughes 在 iPhone 8 Plus 開售時購入使用,並以無線充電形式為 iPhone 8 Plus 充電,聲稱用無線充電更方便,但是使用不到 4 個月,他發現了 iPhone 8 Plus 的充電循環竟然高達 82 次,他當時推算電池會在 18 個月到達 500 次充電循環。


Recharging Cycle 充電循環次數

        這邊先來名詞解釋一下什麼是Recharging Cycle,鋰電池充放電是個化學反應,正電荷負電荷一直忙碌地跑來跑去,就跟人一樣跑久了膝蓋會退化(老化),電池放電到沒電然後再充飽的過程,叫做一次循環,所以一般鋰電池會說經過500次循還充電後,電池充飽的電量會只有原來的80%(一般常看到的定義為80%)。
        但500次是實驗室特定的條件下所得到的數字,實際使用上面會有所不同,但最主要影響電池壽命是
        1. 溫度 
        2. 充放電速度或電流大小 
        溫度越高電池老化速度越快,這幾乎套用在全部的產品的特性例如電子零件,外觀機殼等等(HTOL),充放電速度快或電流大,當你開啟很吃資源的手遊發現手機一下就沒電發燙,那是因為電池在快速放電一樣放到沒電,放電越快電流越大電池也越容易老化,相對應的充電行為也一樣,現在標榜快充閃充等等,在一樣的條件下充越快電池老化速度也越快,這是鋰電池的宿命,下面附了一個連結裡面講的很詳細。

How to Prolong Lithium-based Batteries

What Causes Lithium-ion to Age?

The lithium-ion battery works on ion movement between the positive and negative electrodes. In theory such a mechanism should work forever, but cycling, elevated temperature and aging decrease the performance over time. Manufacturers take a conservative approach and specify the life of Li-ion in most consumer products as being between 300 and 500 discharge/charge cycles.
        現在無論是iOS or Android App Store上面都會有很多類似電池醫生的App,或手機製造商也都會有自己的電池保護機制比方說Sony Stamina,主要都是在控制不要讓手機快速放電與充電,說白了就是限制手機效能與充電速度(講的好像很神一樣),另外這類的App也是用存取所謂的循環充電次數來判斷這顆電池的壽命,我不確定這是手機系統資訊還是電池裡面有晶片在紀錄。但iPhone送修回來大家都會看一下電池循環充電狀況有沒有歸零,看看自己有沒有拿到新電池的整新機。

Adapter Plugged-in 插著充電線使用

         好像網路上有流傳不要邊充電邊玩手機,會損壞手機或加速手機掛點,我不知道那訊息到底怎麼來的,可能有他的時空背景(以前一些白牌手機設計不良等等),但現今入門的手機到頂規的版本,理論上你想充就充,隨時隨地的插著充電器,沒問題地, 底下這張圖簡單示意一下邊充電邊玩手機的情況。

        一般在使用手機的狀態,全部的電力會完全由鋰電池提供(廢話不然用愛發電嗎?),但是當處於充電的狀態,電力來源會由外部的充電器或行動電源提供,所以有時候如果用到不良的充電器會爆炸是因為手機在高度負載的情況下,充電器Adapter超過原本的負荷燒毀,所以當手機爆炸會漏電的時候,新聞都會說使用原廠的充電器,也不是說原廠比較好,是有些副廠太危險了。        
        
先把手機電池充飽的狀況下,再啟動安兔兔AnTuTu Benchmark來強迫手機進入高負載狀態,可以發現充電器在峰值電流會提供1.2A左右的電流(5*1.2=6W),這6W供給手機工作時候的電流,這個時候鋰電池是處於充電狀態,並不需要提供電流給手機運作,所以當然沒有損耗的問題,唯一的問題是手機CPU發熱讓電池老化吧........        

Qi Wireless Charging 氣...無線充電

        那....用無線充電呢?無線充電Qi這個標準早在2008成立到現在,在iPhone導入後,終於獲得大家眼球的注目,以Richtek RT1650 Application Note來說明一下Qi Wireless Charging的動作原理,因為Qi是個工業標準,所以每一家都大同小異,有興趣可以直接點以下連結下載PDF。

  Qi原理其實是個短距離無線電收發機,只是主要目的是要傳送"功率Power"而不是"資料Data",所以整個充電過程只是在Adapter中間多了Qi的收發器,所以後面充就跟用充電器充電一模一樣,問題是無線充電器本身的損耗會比直接用充電器來的高,而損耗的部分會變成熱,所以Qi無線充電現階段換限制充電瓦數在7.5W,主要應該是安全性的問題。

  尤其是用充電線的手機都會爆炸了,更何況這種非接觸式的充電方式(雜牌Qi發射器)。
  那如果發射器與手機之間有異物會不會有安全性的問題呢? 但就如同剛剛提到的,Qi主要目的是傳功率,但還是可以傳送資料,所以如果設計得宜,發射與接受可以互相確認發射與接收的狀態例如發射接收功率比、溫度電流等等,來確定中間是否有異物來停止傳送或降低功率輸出與接收。
  換言之,Apple之後可以透過軟體方式來讓Apple專屬的Qi TX享有更高的傳輸效率與特殊功能或限制其他牌子的Qi充電器使用。

  一樣的測試條件直接用充電線改成網路上買了雜牌Fast Charger ,我必須承認我就是看了3-Coils三線圈設計,感覺多了一個線圈有超值的感覺,但實際上想想可能只是雞肋,而且雖然是白色的超級沒有質感的(買Apple原廠吧)。
   一樣跑安兔兔AnTuTu可以看到電流峰值在跑3D測試的時候來到1.85A,輸入功率5*1.85=9W接近宣告的10W水準,但如果這個峰值功率與插著傳輸線的峰值功率所消耗的功率是一樣的話,那傳輸的效率就差不多是

    6W/9W = 0.66 => 66% => 100-66=34%變成熱

  這也差不多與每一家宣稱的的理論值相當接近,只是這變成熱的34%不知道手機部分所佔的比例是多少,假設一半也差不多是17%變成手機暖暖包的能源。

     所以無線充電會不會影響,其實我並不認為會增加電池充電循環次數,而且在實際生使用上非常方便,降低了接頭插拔的磨損,我想Apple下一步應該是拿掉SIM卡吧,從不能換電池到拿掉3.5mm,再來導入了無線充電,現在這麼積極推廣eSIM,看來下一步就是拿掉SIM的卡槽了。
 

熱門文章