顯示具有 嵌入式系統 標籤的文章。 顯示所有文章
顯示具有 嵌入式系統 標籤的文章。 顯示所有文章

2017年5月3日 星期三

零下世界-電子電路的狀態

我們分為幾個地方進行討論:在單晶片系統當中,包含了幾個元件
1.MCU
2.晶體震盪器
3.電池
下面就各個元件的狀態來說明零下的時候各個元件效應

1.MCU的工作狀態:資料來源,STM32F103 Datasheet

The devices operate from a 2.0 to 3.6 V power supply. They are available in both the –40 to +85 °C temperature range and the –40 to +105 °C extended temperature range. A comprehensive set of power-saving mode allows the design of low-power applications.

根據STM32F103的datasheet所寫,該微處理機可以適用於-40度到+85度的環境下,仍可以維持正常的操作。


2.晶體震盪器:資料來源:維基百科
晶體震盪器的溫度效應[編輯]
石英晶體的頻率特性取決於形狀或切割方式。音叉型晶體通常會切割成溫度特性是以25℃為中心的拋物線。這意味著,音叉晶體振盪器在室溫下產生的共振頻率接近其目標頻率,當溫度或增加或減少時頻率都會降低。頻率-溫度曲線為拋物線的常見32.768千赫音叉晶體的溫度係數是負百萬分之0.04/℃²。
也就是說,如不考慮製作誤差,以這種石英晶體控制頻率的時鐘,如運作在比室溫低10°C的環境下,每年會比運作在室溫下慢2分鐘;如運作在比室溫低攝氏20°C的環境下,則每年會比運作在室溫下慢8分鐘。

3.電池:詳情請見行動電源的極限:零下溫度的效應

4.結論

會被影響的元件:電池【最嚴重】、晶體震盪器【有專用SMD元件可補償溫度係數】
不會被影響的元件:微處理器晶片本身

2017年4月18日 星期二

Arduino筆記 Lesson 3-閱讀Datasheet-STM32F103c8t6的規格


資料來源:
https://developer.mbed.org/users/hudakz/code/STM32F103C8T6_Hello/shortlogSTM32F103C8T6 board

微處理機規格
  • STM32F103C8T6 in LQFP48 package
  • ARM®32-bit Cortex®-M3 CPU
  • 72 MHz max CPU frequency
  • VDD from 2.0 V to 3.6 V
  • 64 KB Flash
  • 20 KB SRAM
  • GPIO (32) with external interrupt capability
  • 12-bit ADC (2) with 10 channels
  • RTC
  • Timers (4)
  • I2C (2)
  • USART (3)
  • SPI (2)
  • USB 2.0 full-speed
  • CAN
IC的Datasheet如連結,有機會再跟各位說明一下相關的datasheet內容

電路板規格
  • Small foot-print
  • Flexible board power supply: USB VBUS or external source (3.3V, 5V)
  • User LED: LED1 (PC13)
  • One push button: RESET
  • Programming/Debug port
  • Micro-B USB connector 

2017年4月17日 星期一

Arduino 筆記 Lesson 2 -STM32F103C8T6 - UART通訊

一、基礎連結

原文請參考http://grauonline.de/wordpress/?page_id=1004


STM32F103C8T6使用Arduino IDE 進行UART通訊成果

1.請依照下面的電路圖進行串接
在這邊要注意一點,就是電源要接上,要不然無法使用!!

2. 下載且安裝 Arduino IDE (目前最新版本為Arduino 1.8.2)

將這個資料夾解壓縮後會得到‘Arduino_STM32-master’這個資料夾,並將這個資料夾的內容放到你的Arduino硬體資料夾 (C:\Programs\Arduino\hardware).

4. 打開 Arduino IDE, 可以看到在板子的選項中可以選擇:
Board: Generic STM32F103C series
‘Variant: STM32F103C8 (20k RAM, 64k Flash)’
Upload method: Serial
‘Port: <the COM port of your USB-to-serial adapter>’

5. Compile this sketch:
#define pinLED PC13
void setup() {
  Serial.begin(9600);
  pinMode(pinLED, OUTPUT);
  Serial.println("START");  
}
void loop() {
  digitalWrite(pinLED, HIGH);
  delay(1000);
  digitalWrite(pinLED, LOW);
  Serial.println("Hello World");  
}

然後就會開始啟動。

二、多埠連結

既然STM32F103C8T6有三個USART埠,要如何啟動呢?
對於初始狀態而言,A9,A10(板子上可看到的IO)是初始USB對電腦的(TX,RX)
這個答案請參考下列

http://wiki.stm32duino.com/index.php?title=API#Serial_.26_USB_Serial

我把內容貼出來

Serial & USB Serial 
Serial USB is enabled for all F103 boards when uploading using the bootloader, it is also available when uploading by ST-Link (SWD) 
In these cases:
  • Serial.print("Hello world"); will print via Serial USB (CDC).
  • Serial1 prints to hardware USART 1
  • Serial2 prints to hardware USART 2
  • etc

換句話說若是要使用USART1,就打Serial1,要使用USART2,就打Serail2

Arduino 筆記 Lesson 1 挑選系統版

筆者因為朋友的一點小需求
所以挑選三塊板子進行相關的說明

1.Arduino Pro Mini


2.Arduino Nano
3.STM32f103c8t6 最小系統版


4. Arduino UNO R3

會選擇STM32f103c8t6的原因
除了與Arduino IDE相容以外,可以用比較快速以及簡單的語法來啟動嵌入式系統以外
還有一件很重要的事情就是,可以與既有ST Link相關的編譯軟體進行互通
換句話說,若是使用STM32f103c8t6,之後要量產的話比較有機會進行大量複製
....雖然說以Maker的角度而言好像不太需要考量所謂的量產的事情。

至於兩張板子的比較,資節錄網路上已經有人做的Performance 比較
Arduino Mini 以及 STM32F103c8t6的差別
Youtube連結如下:
https://www.youtube.com/watch?v=5mDnKBNl9sY

節錄重點:STM32F103c8t6有的Performance比Arduino Mini快將近12倍
Arduino Mini 測試結果(秒數越多代表越久)
STM32F103c8t6 測試結果 (秒數越少代表越快)
在價格部分,STM32F103c8t6來自於中國的龐大代工下的成果....所以與Arduino相比是意外的便宜,然而他的缺點就是網路上的資源相當的少

以後有空再慢慢地描述每一張板子如何使用。

零下世界-電子電路的狀態

我們分為幾個地方進行討論:在單晶片系統當中,包含了幾個元件 1.MCU 2.晶體震盪器 3.電池 下面就各個元件的狀態來說明零下的時候各個元件效應 1.MCU的工作狀態:資料來源, STM32F103 Datasheet The devices operate f...