2014年3月30日 星期日

低功耗無線通訊研討會

提交"與會報告書"(整理出時間、場合、標題、演講者姓名、參加者人數、主旨、要點、疑問及感想"並積極發問

這次,所參加的會議為-台灣的代理商緯忠和他們主要的合作廠商 笙科。
因為,上次我司有在找其它BLE solutaion其中一家就是笙科及創傑,所以我也有事請假去台北。

時間:2014/3/26
地點:台北劍壇青年中心
人數:約80人
主旨:低功耗SOC
要點:
像是這種其實沒有什麼要點,像在推產品而己,
在參加幾次像這樣的研討會,其收獲並沒有多少。

而笙科是一家做sub 1G,智能電表的。而我司的非BLE產品也是用它們的IC(2.4G)
其中我主要想要知道這家的IC其到底有那些優勢。除了cost等。
RX sensity
support
Test tool


而最後,它提供物聯網的討論
sensor
physic
network
application

物聯網的定義及標準,
network,分內網 及外網。
BLE,Sub 1G and RF.
外網則由網路(Hub)來做。


它的優勢有:
1.它有relayout
2.cost , bonding包裝
3. 台廠,可直接聯絡。

疑間:
之後是否還要去參加這類的會議,若要請假去參加這類會議。

標準'非標準的協定:
之間差在於,沒有互通性,通用性。

錄音檔

2014年3月5日 星期三

LCD driver(一)

最近,剛好有在撰寫關於OLED相關驅動程式,使用SSD1306
所以將整理出來的東西寫下。
共有三篇,分別是LCD driver(一,二及三)的內容
分別是它的楖念'設計及實作。
LCD driver(一)
LCD driver(二)
LCD driver(三)
========================
這裡所採用的OLED是以Pixel displays,大多數的LCD驅動也是。
若我們想要在LCD上印出 “3"這個數字出來,或是任一個符號出來
"都必須需要一個bitmap 來描述"。

而這些你所建的bitmaps將被集合起來成為該專案的
graphic assert. (裡面有分為font/picture or logos).

它會像是下圖所示內容:











這就是顯示的整個架構:
A:在Graphic assert,可以視為一個graphic assert list (head file)所以它會標示出所有的資源及內容,並將它指向該內容的下一層(含有bitmaps及offset)

B:而下一層這裡(MED FONT)中,裡頭可以看出是一個dictionary架構 ,指出來那一個字在那個地方。 而其它的assert 也是相同的只是不是指向一個字元符號。

C: 有二個,分別是CHARACTER MAP 及 GLYPHS。即在裡面有那些符號(character map)及它又在那裡(glyphs)。

D:這整個簡單的架構中,有幾點是我們必須要註意的有
       1. 在A時我們要如何表現不同assert及特別的你必須要建一個version好知道那一版中,有那些東西,不同你不會知道裡面有那些內容。
       2. 在character map中,要如何查詢一個符號;又如何去找出相應的符號中所含的資訊(長寛,pixelbits)
       3.是否要壓資料,要採用那一方法(建議RLE,run lenght endecode,
WWWWBBWWW. This would encode to W4B2W4)

E:最後,整個方式如下




















1.決定要show 在那,設定x/y
2. search assert ,and find out the correct font(logo and graphic)
3. find the font information
4. read the bitmaps
5. send to display(write to backvideoram or ...direct write to lcd)
6. refresh the display.
 
F.決定通訊介面(interface)
  一般的通用的顯示,都支援多種的介面. 如:Parallel 及 Servial(1 wire’two wire(TWI,i2c) Asynchronous‘spi synchronous,USB and other. **1
  在這顆SSD1306中也都有支擾大多數的介面,而我們要如何去決定該用那一個介面.我想這則要考量到要件,如下:
  i. 最大更新畫面的大小,更新速度,及 pixel of color
以這次為例,畫面大小 128 x 64;one pixel one color(單色) , refresh 1page/sec
所以,其所需的 128 x64 x 1 x 1 =8,192 bits/sec = 1K Byte/sec,那麼則採用任一介面均可.應考慮其它的條件;
另一例子為, 320x 240 size ; one pixel 2^24 color(RGB), refresh 30 page/sec, 這個應是一般性的.
one page = 1,843,200 bits = 225 KB . then total bandwitdh is  6.6MB/sec(52M bits/sec) , 所以只能選擇 Parallel才行.
  ii. 主端的資源
這裡我想說明的是,關於系統中若在處理畫面時,是否可能會被中斷及回到畫面的時間等, 所造成的影響.
其重要的是它是在何時去更新畫面的, 像是在timer 中定時去更新 或者是由外部發起 及其是否需先寫到buffer後再更新到CGRAM上.
各時間點對於畫面的影響, 尤其是你要去做動畫時.這些都必須去考量的地方. **2
iii. 與其它週邊的配合
及是否有共用資源,可能造成的影響,
iv. 主端的支援介面
不論是用Parallel 及 Servial(1 wire’two wire(TWI,i2c) Asynchronous‘spi synchronous, 簡單的介面中,都是可以用 bit banding ( SW) and HW的實現. 其中SW實現的難易度為 Parallel ,spi , twi and 1 wire.

**1:
Parallel : shoud be deteminte system
SPI : 8Mbits
I2C: 100Kbits(400K,1Mbits and 4.7MBits)
1 wire: 100Kbits

**2:data driven systems and event driven
systems that were event driven: things happen because
sensors were activated, causing events which caused changes the state of the system.