close

中秋前夕, 颱風來台, 無處可去, 整理筆記.


 


軟件模擬的 RS232, 需要知道幾個參數, 方便設計如下,


1) CPU 的速度 f, 如 1.55 MHz


2) RS232 通訊的速度 BAUD RATE, 如 9600 bit / second


3) 每個指令佔用的 CPU 週期


 


第一步, 預設 RS232 通訊的速度 BAUD RATE, 通常 PC 都內定為 9600 BAUD, 表示每秒收發 9600 bit, 所以得到每 bit 需要的時間為 Bt,


Bt =  1 / 9600 x 10^6 = 104.17 us


BAUD RATE 可以有其他選擇, 如 4800, 9600, 19200, 38400, 57600, 76800, 115200


 


第二步, 由 CPU 的速度 f, 如 f=1.55 MHz, 求每個 CPU 週期的時間 (CPU CLOCK CYCLE TIME), 以 Ct 表示,


Ct = 1/f = 1/1.55 = 0.645 us


 


第三步, 已知 Bt & Ct, 求每 bit 需要的佔用的 CPU 週期, 以 Nc (Number of CPU Clock Cycle)代表,


Nc = Bt / Ct = f  * 10^6 / BAUD RATE = 1.55 x 10^6 / 9600 = 161.5


 


結論 :


條件, AVR MCU, ATTINY13, CPU SPEED = 1.55MHz


RS232 速度 = 9600 BAUD


軟件的發送速度必須保持每 bit 為 162 CPU CYCLE.

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 xiaolabaDIY 的頭像
    xiaolabaDIY

    xiaolabaDIY 的部落格

    xiaolabaDIY 發表在 痞客邦 留言(0) 人氣()