- 1 -
ỦY BAN NHÂN DÂN TP.HCM
SỞ KHOA HỌC VÀ CÔNG NGHỆ BÁO CÁO NGHIỆM THU
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC NĂM 2007
TÊN ĐỀ TÀI:
NGHIÊN CỨU THIẾT KẾ VÀ THI CÔNG CÁC KIT THÍ
NGHIỆM - GIẢNG DẠY VI ĐIỀU KHIỂN RISC 8/32 BIT
CN ĐỀ TÀI: ThS. Ngô Đức Hoàng
Đồng CN đề tài: KS. Nguyễn Minh Chánh
CƠ QUAN CHỦ TRÌ: Trung tâm Nghiên cứu và Đào tạo Thiết kế Vi mạch (ICDREC)
Đại học Quốc gia Tp. Hồ Chí Minh.
8
8
8
8
8
6 Mục tiêu của đề tài/dự án 8
7 Nội dung của đề tài/dự án 8
7.1 Nội dung thực hi
ện đề tài/dự án 8
7.2 Sản phẩm của đề tài/dự án 10
7.2.1 Kit thí nghiệm – giảng dạy RISC PIC 8 bit. 10
7.2.2 Kit thí nghiệm – giảng dạy RISC 32 bit 11
CHƯƠNG I: NỘI DUNG NGHIÊN CỨU
1.1 Nội dung 1:
1.1.1 Nghiên cứu các họ vi điều khiển PIC12xxx, PIC16xxx và PIC18xxx với lõi
RISC 8 bit
14
1.1.2 Nghiên cứu các thành phần ngoại vi có thể giao tiếp với 3 họ PIC nêu trên 20
1.2 Nội dung 2:
1.2.1 Nghiên cứu các Kit thí nghiệm giảng dạy RISC 8 bit thông dụng trên thị
trường. Phân tích thiết kế phần cứng, ph
ần mềm và các bài thí nghiệm. Chỉ
ra ưu nhược điểm của từng kit.
28
1.2.2 Xác lập thông số kỹ thuật và đề cương bài thí nghiệm dự tính cho các kit của
đề tài
31
1.3
Nội dung 3: Thiết kế Kit thí nghiệm – giảng dạy RISC 8 bit dựa trên cả 3 họ
CHƯƠNG II: KẾT LUẬ
N VÀ ĐỀ NGHỊ
2.1 Kết luận 491
2.2 Đề nghị 491
- 4 -
TÓM TẮT NỘI DUNG NGHIÊN CỨU
1. KIT PIC phiên bản 1.0
1.1 Mục tiêu nghiên cứu
-
Phục vụ công tác đào tạo và nghiên cứu tại các trường Đại học.
-
Tiến đến sản xuất thử nghiệm bộ Kit thí nghiệm RISC 8 bit tham gia vào thị trường cung
cấp thiết bị nghiên cứu và giảng dạy.
1.2 Ý nghĩa của sản phẩm của đề tài
- Nắm và hiểu rõ được kiến trúc của PIC
- Hiểu được phương pháp lập trình và thiết kế vi điều khiển PIC
- Hiểu và nắm rõ các chuẩn giao tiếp từ đơn giản đến phức tạp
- Là tiền đề cho việc tiến đến những ứng dụng của PIC và hệ thống nhúng.
1.3
Đặc tính kỹ thuật
1.3.1 Thông số kỹ thuật
- Hỗ trợ cho nhiều loại PIC
- Kích thước 18x23 cm
2
cung cấp thiết bị nghiên cứu và giảng dạy.
2.2 Ý nghĩa của sản phẩm của đề tài
- Nắm và hiểu rõ được kiến trúc của ARM
- Hiểu được phương pháp lập trình và thiết kế vi điều khiển ARM
- Hiểu và nắm rõ các chuẩn giao tiếp từ đơn giản đến phức tạp
- Là tiền đề cho việc tiến đến những ứng dụng của ARM và hệ thống nhúng.
2.3
Đặc tính kỹ thuật
2.3.1 Thông số kỹ thuật
- Sử dụng CPU lõi RISC của NXP LH79525 ARM720T™, Tốc độ thực thi của
CPU đạt đến: 76.205 MHz, Tần số lớn nhất của xung clock AHB 50.803 MHz, 16-
bit cho bus dữ liệu.
- Bộ nhớ Flash 8MB, SDRAM 32MB.
- Kích thước: 20x25 cm
2
- Board được thiết kế 6 lớp.
- Nguồn cung cấp: 12VDC.
- Đầu nối JTAG.
2.3.2 Thành phần ngoại vi
- LCD 20x4
- Bộ nhớ flash 8MB – 16 bit
- SDRAM 32MB – 16 bit
- EEPROM 8KB (I2C)
- 6 -
- 2 port RS232
- 2 port USB
- 1 port Ethernet
SUMMARY OF RESEARCH CONTENT
1. PIC Ver 1.0 KIT
1.1 Purpose
- Educating in universities.
- Individuals research on PIC microcontroller of Microchip.
- Experiment KIT for students.
1.2 Signification
- Understanding PIC architecture.
- Understanding programming and designing PIC microcontroller method.
- Understanding standards interface from simple to advance.
- Make the acquaintance with PIC application and embedded system.
1.3 Specifications
1.3.1 Technical specifications
- Use many other kind of PIC
- Size: 18x23 cm
2
- Board layout with 2 layers technology.
- Power supply: 12VDC 5A.
- Programmer on board.
- Header for debug ICD2.
1.3.2 Peripheral
- 8 single LEDS.
- Seven segment LEDS.
- Keypad matrix 4x4 use external interrupt.
- LCD line 16x2.
- External EEPROM for I2C interface.
- Real time clock.
- ADC module.
2
- Board layout with 6 layers technology.
- Power supply: 12VDC.
- Jtag programmer.
2.3.2 Peripheral
- 8 single leds.
- 4 seven segment leds.
- 9 -
- Keypad matrix 4x4.
- LCD line 20x4.
- LCD touch screen TFT 240x320.
- I2C controller combinate with 8 single leds.
- Real time clock.
- ADC with temperature sensor.
- IrDA TFDU4101 115.2Kbit/s.
- MMC/SD card interface.
- IDE interface.
- I2S interface with Audio In and Audio Out jacks for microphone and headphones
- USB host/device connector.
- Ethernet 10/100 Mbit/s connector.
- Two-channel RS232 interface.
- Reset circuit and reset button.
- Standard JTAG connector with 2x10-pin for programming/debugging.
- 10 -
16.000 16.000
4. Thiết bị 00
5. Xét duyệt, giám định, nghiệm
thu
17.800 17.800
6. Hội nghị, hội thảo 0 0
7. Đánh máy tài liệu 0 0
8. Giao thông liên lạc 0 0
9. Chi phí điều hành 15.000 15.000
III Tiết kiệm 5%
IV Kinh phí chuyển sang năm sau
- 11 -
PHẦN MỞ ĐẦU
1. Tên đề tài/dự án:
Nghiên cứu thiết kế và thi công các Kit thí nghiệm- Giảng dạy vi điều khiển
RISC 8 bit và 16/32 bit.
2. Chủ nhiệm đề tài/dự án:
2.1 Chủ nhiệm chính: ThS.
NGÔ ĐỨC HOÀNG
2.2 Đồng chủ nhiệm: KS. NGUYỄN MINH CHÁNH
3. Cơ quan chủ trì:
Trung tâm Nghiên cứu và Đào Tạo Thiết Kế Vi Mạch (ICDREC) – Đại học Quốc Gia TP.
Hồ Chí Minh
ra ưu nhược điểm của từng kit.
- Xác lập thông số kỹ thuật và đề cương
bài thí nghiệm dự tính cho các kit của
đề tài
Mục 1.2.1 và 1.2.2
03 Thiết kế Kit thí nghiệm – giảng dạy
RISC 8 bit dựa trên cả 3 họ PIC 8 bit
khác nhau.
Mục 1.3
04 Viết chương trình kiểm tra Kit RISC 8
bit
Mục 1.4
05 - Nghiên cứu các họ vi điều khiển ARM
với cấu trúc RISC 32 bit
- Nghiên cứu các thành phần ngoại vi có
thể giao tiếp với ARM 32 bit với cấu
trúc RISC nêu trên.
Mục 1.5.1 và 1.5.2
06 - Nghiên cứu các Kit thí nghiệm giảng
dạy ARM 32 bit thông dụng trên thị
trường. Phân tích thiết kế phần cứng,
phần mềm và các bài thí nghiệm. Chỉ
ra ưu, nhược điểm của từng kit.
- Xác lập thông số kỹ thuật và đề cương
bài thí nghiệm dự tính cho các kit của
đề tài.
Mục 1.6.1 và 1.6.2
07 Thiết kế Kit thí nghiệm – Giảng dạy
ARM 32 bit
Mục 1.7
- 4 led 7 đoạn
- LCD 16x2
- Bàn phím 4x4
- port mở rộng
- Ngõ vào cho phép giao tiếp với cảm biến
- SD card
- Realtime clock
- IDE interface
- Audio out
- 1 port Ethernet
- 1 port USB slave
- Clock option
- PWM
- Bộ nhớ ngoài 8 bit
- Đầu nối ICD2
- Đầu nối cáp nguồn
7.2.2
Kit thí nghiệm – giảng dạy RISC 32 bit.
Đây là bộ kit được thiết kế bởi Trung Tâm Đào Tạo và Thiết Kế Vi Mạch (ICDREC).
CPU trung tâm là vi điều khiển ARM LH79525 của NXP. Nhằm mục đích để người
dùng, sinh viên dễ dàng sử dụng bộ kit này, phần này sẽ mô tả các đặc tính cũng như chỉ
rõ sơ đồ tổ chức các khối trên kit. Từ đó người dùng sẽ dễ dàng tiếp cận hơn với bộ kit
này. Tên đầy đủ củ
a kit là KIT ARM – LH79525.
- 15 - Hình 2: KIT ARM – LH79525
So với đề tài thì Kit ARM có những đặc tính sau:
- Hạt nhân là vi điều khiển LH79525 lõi ARM7TDMI kiến trúc RISC 16/32 bit, so với
- 17 -
CHƯƠNG I: NỘI DUNG NGHIÊN CỨU
1.1 Nội dung 1:
1.1.1 Nghiên cứu các họ vi điều khiển PIC12xxx, PIC16xxx và PIC18xxx với lõi
RISC 8 bit
1.1.1.1 Giới thiệu
PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology.
Dòng PIC đầu tiên là PIC1650 được phát triển bởi Micro Electronics Division thuộc
General Instrument.
− PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer" (Máy tính
khả trình thông minh) là một sản phẩm của hãng General Instruments đặt cho dòng
sản phẩm đầu tiên của họ là PIC 1650. Lúc này, PIC 1650 được dùng để giao tiếp với
các thiết bị ngoại vi cho máy chủ 16bit CP1600. Vì vậy, người ta cũng gọi PIC với cái
tên "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi). CP1600 là
một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, do đó PIC 8-bit được phát
dịch, trình liên kết, chạy trên nền Linux, Mac OS X, OS/2 và Microsoft Windows.
GPSIM cũng là một trình mô phỏng dành cho vi điều khiển PIC thiết kế ứng với
từng module phần cứng, cho phép giả lập các thiết bị đặc biệt được kết nối với PIC, ví
dụ như LCD, LED
− Hiện nay có khá nhiều kiểu PIC và có rất nhiều khác biệt về phần cứng,
nhưng chúng ta có thể điểm qua một vài nét như sau:
• 8 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi
• Flash và ROM có thể tuỳ chọn từ 256 byte đến 256 Kbyte
• Các cổng Xuất/Nhập (I/O ports) (mức logic thường từ 0V đến 5.5V, ứng với logic
0 và logic 1)
• 8/16 Bit Timer.
• Công nghệ Nanowatt
• Các chuẩn Giao Tiếp Ngoại Vi Nối Tiếp Đồng bộ/Không đồng bộ USART,
AUSART, EUSARTs
• Bộ chuyển đổi ADC Analog-to-digital converters, 10/12 bit
• Bộ so sánh điện áp (Voltage Comparators)
• Các module Capture/Compare/PWM
• Giao tiếp LCD
• MSSP Peripheral dùng cho các giao tiếp I²C, SPI, và I²S
• Bộ nhớ nội EEPROM - có thể ghi/xoá lên tới 1 triệu lần
• Module Điều khiển động cơ, đọc encoder
• Hỗ trợ giao tiếp USB
• Hỗ trợ điều khiển Ethernet
- 19 -
• Hỗ trợ giao tiếp CAN
• Hỗ trợ giao tiếp LIN
• Hỗ trợ giao tiếp IrDA
• Một số dòng có tích hợp bộ RF (PIC16F639, và rfPIC)
• KEELOQ Mã hoá và giải mã
cách ly trong quá trình nạp.
- 20 -
Khi quá trình nạp bắt đầu, điện áp trên chân MCLR được nâng lên 13V, lúc này chip
sẽ tự vào trạng thái programming, hai chân PGD và PGC trên PIC sẽ được cấu hình thành
hai chân Data và Clock cho quá trình Serial Programming
Ưu điểm của phương pháp này là:
- Không cần di chuyển chip sau mỗi lần nạp.
- Đây là cách duy nhất cập nhật code cho các loại chip SMD.
Vậy mỗi dòng có những ưu nhược điểm gì ? Sự khác nhau giữa chúng là gì ?
Mỗi dòng có thể giao tiếp với những ngoại vi nào?
Điể
m khác nhau cơ bản nhất của PIC12XXX, PIC16XXX và PIC18XXX là tập
lệnh của chúng.
Các dòng pic gồm có 4 tập lệnh chính sau:
- Các chip lõi 12-bit dùng chung một tập lệnh có 33 lệnh, giống các lệnh của chip lõi
14-bit.
- Các chip lõi 14-bit dùng chung một tập lệnh có 35 lệnh.
- Các chip lõi 16-bit (PIC18) dùng chung một tập lệnh có 77 lệnh.
- Các chip lõi 24-bit (dsPIC và PIC24) dùng chung một tập lệnh có 83 lệnh.
Do đó, vấn đề học tập lệnh của PIC trở nên dễ dàng đối v
ới quá trình học tập, nghiên
cứu
PIC12XXX có chiều dài mã lệnh là 12 bit, 8 bit data.
PIC16XXX có chiều dài mã lệnh là 14 bit, 8 bit data.
PIC18XXX có chiều dài mã lệnh là 16 bit, 8 bit data.
Sự khác nhau giữa hai loại cấu trúc bộ nhớ Flash (12F, 16F, 18F) và EPROM ( 12C,
16C, 18C)
Đối với việc giảng dạy và học tập thì việc sử dụng các chip có cấu trúc Flash sẽ mang
lại hiệu quả trong công việc, vì dòng chip dùng Flash cho phép quá trình ghi/xóa nhiều
- Stack 8 mức
- Có chế độ bảo vệ code chương trình
- Bộ nhớ chương trình có thể nạp/xóa 1.000.000 lần
- Có chế độ Sleep để hạn chế công suất tiêu thụ
- Tầm điện áp hoạt động rộng: 2.5V đến 6.0V
- Có 2 bộ timer 8 bit/couter 8 bit. Một số sản phẩm của dòng này còn có bộ timer 16
bit.
- Có bộ Compare/PWM/Capture có thể lên đến 16 bit
- Có port nối tiếp đồng bộ SSP có thể
cấu hình SPI
- Có khối I2C
- Có khối USART
- 22 -
- Có port giao tiếp song song với các chân điều khiển /RD, /WR, /CS
- Bộ nhớ chương trình có chiều dài từ 1K word đến 8K word
- Số nguồn ngắt từ 7-11
- I/O port có thể lên đến 5 port
- Hỗ trợ port I/O analog
- Có nhiều kênh ADC nhằm hỗ trợ điều khiển động cơ ( 4 – 14 kênh ADC 10 bit)
16F7X7
- Có chức năng ICSP, và ICD (In Circuit Debug) với MPLAB
¾ Cấu trúc PIC18XXX
- Mã lệnh có chiều dài 16 bit gồm 75 lệnh, 8 bit data.
- Số chân phổ biến 40 chân.
- Có thể hoạt động đến 10 MIPs.
- Một số sản phẩm của dòng này không yêu cầu lập trình điện áp cao (Vpp) như hai
dòng trên.
- Hỗ trợ nhiều ngắt ngoài.
- Hỗ trợ port I/O analog.
- Bộ nhớ chương trình
có thể ghi/xóa hàng triệu
lần
- I/O, timer, interrupt,
Compare/PWM/Capture,
SSP, I2C, UART,
USART, ADC, ICD
-16 bit mã lệnh, 75 lệnh
-40 chân
-Tầm điện áp 2.5-5.5 V
-Bộ nhớ chương trình có
thể ghi/xóa hàng triệu
lần
- I/O, timer, interrupt,
ADC, ICD, USB,
Compare/PWM/Capture,
SSP, I2C, UART,
USART, SPP
1.1.2 Nghiên cứu các thành phần ngoại vi có thể giao tiếp với 3 họ PIC nêu trên.
1.1.2.1 Dòng PIC12xxx:
Pic12xxx thông thường có khoảng 6 chân GPIO, điều này còn tùy thuộc vào từng họ
cụ thể, nhưng thông thường pic12xxx có các module cơ bản sau
¾ Module Analog Comparator:
Khi module được kích hoạt, hai chân GPIO của chip được cấu hình thành 2 ngõ vào
của bộ so sánh 2 tín hiệu analog (hoặc tín hiệu ngoài và tín hiệu chuẩn bên trong chip).
Kết quả so sánh sẽ được vi xử lý đọc về và xử lý, ngoài ra ta cũng có thể đưa tín hiệu
này ra chân GPIO khác của chip bằng cách cấu hình cho chúng.
Tùy vào từng ứng dụng cụ thể mà tần số lấy mẫu của kênh được lựa chọn tương ứng,
tần số này được lấy từ bộ dao động nội của chip
Module ADC có khả năng đọc vào các tín hiệu analog sau đó chuyển thành tín hiệu
digital và xử lý. Các ngoại vi có thể giao tiếp với module này gồm: Các cảm biến analog,
các tín hiệu audio, video… Module này hỗ trợ mạnh cho các ứng dụng điều khiển
động
cơ.
¾ Interrupt:
Interrupt được sử dụng trong nhiều module khác nhau như: Comparator Interrupt,
timer interrupt, ADC interrupt …
Comparator interrupt: Khi module so sánh analog được cấu hình interrupt thì sau mỗi
thay đổi trạng thái bộ compare, cờ ngắt sẽ được set. Quá trình này xảy ra chương trình
tạm thời sẽ ngừng và nhảy vào chương trình phục vụ ngắt ở địa chỉ ngắt. Kết thúc
chương trình ngắt, con trỏ chương trình sẽ trở về vị trí mà nó đã tạm dùng trước đó để
thực hiện tiếp
Timer interrupt: Tương tự như interrupt của comparator, mỗi bộ timer đều có một
interrupt tương ứng. Đây chính là điểm mạnh của timer interrupt
ADC interrupt: Hoàn toàn tương tự như timer interrupt, mỗi kênh ADC chứa một
timer
Như vậy các ngoại vi có thể kết nối với họ PIC12XXX là các device có số chân giao
tiếp tương đối ít (khoảng 6 GPIO).
Tuy nhiên, đối với các ứng dụng nhỏ thì PIC12xxx tương đối đầy đủ cho các điều
khiển các thiế
t bị dân dụng, và học tập về vi điều khiển RISC như: các loại cảm biến số,