Đề tài Xây dựng các module giảng dạy MSP 430 (Phần 1)

pdf 14 trang phuongnguyen 100
Bạn đang xem tài liệu "Đề tài Xây dựng các module giảng dạy MSP 430 (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_tai_xay_dung_cac_module_giang_day_msp_430_phan_1.pdf

Nội dung text: Đề tài Xây dựng các module giảng dạy MSP 430 (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG XÂY DỰNG CÁC MODULE GIẢNG DẠY MSP 430 MÃ SỐ: T2010 - 04 ChỦ NHIỆM ĐỀ TÀI: Th.S NGUYỄN VĂN HIỆP S K C 0 0 3 0 3 7 THÀNH PHỐ HỒ CHÍ MINH, 2010
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TPHCM XÂY DỰNG CÁC MODULE GIẢNG DẠY MSP430 MÃ SỐ : T2010-04 CHỦ NHIỆM ĐỀ TÀI: THS. NGUYỄN VĂN HIỆP TP HCM, NĂM 2010
  3. NGƢỜI THAM GIA ĐỀ TÀI CHỦ NHIỆM ĐỀ TÀI: NGUYỄN VĂN HIỆP HỌC VỊ, CHỨC DANH KHOA HỌC: GIẢNG VIÊN, THẠC SĨ ĐƠN VỊ PHỐI HỢP: BỘ MÔN ĐTCN, KHOA ĐIỆN-ĐIỆN TỬ
  4. MỤC LỤC Trang Tóm tắt kết quả nghiên cứu 2 Nội dung nghiên cứu 3 1. Module 1: Tổng quan về MSP430F2274 4 2. Module 2: Tổ chức bộ nhớ MSP430F2274 8 3. Cấu trúc xuất nhập 14 4. Hoạt động Reset và các chế độ 16 5. Xung Clock 19 6. Bộ định thời Watchdog 25 7. Bộ định thời Bộ định thời A 28 Bộ định thời B 33 8. Bộ chuyển đổi tƣơng tự sang số ADC 37 9. Bộ chuyển đổi số sang tƣơng tự DAC 47 10.Bộ khuếch đại thuật toán OA 50 Kết quả và Kết luận 55 Tài liệu tham khảo 56 Phụ lục A: Cấu trúc một chƣơng trình 57 Phụ lục B: Các ví du mẫu 59 Phụ lục C: Các hình và mạch nguyên lý 92
  5. Xây dựng các module bài giảng MSP430 TÓM TẮT KẾT QUẢ NGHIÊN CỨU ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƢỜNG Tên đề tài: Xây dựng các Module bài giảng MSP430 Mã số: T2010-04 Chủ nhiệm đề tài: Ths. Nguyễn Văn Hiệp Tel.: 0905354655 E-mail: Cơ quan chủ trì đề tài: Trƣờng Đại học Sƣ Phạm Kỹ Thuật, TP HCM Cơ quan và cá nhân phối hợp thực hiện: Thời gian thực hiện: Từ 25/03/2010 đến 20/08/2010 1. Mục tiêu: Nghiên cứu một họ Vi điều khiển mới nhiều tính năng hay, xây dựng các bài giảng để làm tài liệu học tập cho sinh viên. 2. Nội dung chính: Nghiên cứu về họ vi điều khiển MSP430: cấu trúc bộ nhớ, xuất nhập, adc, dac, Timer, PMW, bộ khuếch đại thuật toán, , board phát triển EZ430, tập lệnh C, tập lệnh ASM, một số bài ví dụ viết cho bộ thí nghiệm: led đơn, bảy đoạn, LCD, ma trận, 1. Kết quả chính đạt đƣợc (khoa học, ứng dụng, đào tạo, kinh tế – xã hội, v.v ) - Khoa học: tìm hiểu và khai thác một họ vi điều khiển siêu tiết kiệm năng lƣợng của Texas Instrument, họ vi điều khiển RISC 16 bit. - Ứng dụng: Tạo cơ sở khoa học cho việc tiếp cận dòng vi điều khiển mới nhanh, ứng dụng trong nhiều lãnh vực dân dụng, công nghiệp đặc biệt trong các thiết bị cầm tay yêu cầu nguồn năng lƣợng thấp. - Đào tạo: làm tài liệu giảng dạy cho sinh viên 2. Điểm mới - Đây là họ vi điều khiển rất mới ở thị trƣờng Việt nam. - Họ vi điều khiển có nhiều tính năng mới: tích hợp cảm biến nhiệt độ, bộ khuếch đại thuật toán, DAC12bit, bộ quản lý nguồn siêu tiết kiệm năng lƣợng. 5. Địa chỉ ứng dụng - Ứng dụng trong việc giảng dạy cho sinh viên tại trƣờng ĐH SPKT TPHCM - Tài liệu nghiên cứu cho sinh viên, kỹ sƣ điện tử, điện, tự động hóa. p Trang | 2
  6. Xây dựng các module bài giảng MSP430 PHẦN NỘI DUNG NGHIÊN CỨU 1. TÍNH CAÁP THIEÁT CUÛA ÑEÀ TAØI Hiện tại các tập đoàn điện tử, các công ty lớn thì điều hƣớng tới việc sản xuất ra các sản phẩm thông minh, ƣu việt về năng lƣợng. Hầu hết các sản phẩm hiện tại đều dựa trên các chip xử lý mạnh, tiêu thụ năng lƣợng thấp. Trong khi sinh viên của ta vẫn đang học tập và thí nghiệm trên các dòng vi điều khiển cũ, ít tính năng, tiêu thụ năng lƣợng nhiều. Khi sinh viên ra trƣờng muốn đi làm việc tại các công ty lớn nhƣ INTEL, RENESAS, thì không tự tin và thƣờng không đạt yêu cầu. Khi đƣợc tuyển dụng thì lại phải mất thời gian đi học tập để tiếp cận với công nghệ mới trƣớc khi làm việc. Hiện tại bộ môn Điện tử công nghiệp đã đƣợc tập đoàn Texas Instrument tài trợ cho 50 kit phát triển ez430-RF2500. Kit dựa trên nhân là vi điều khiển MSP430F2274 (họ MSP430). Đây là một vi điều khiển mạnh, công suất tiêu thụ cực thấp, đáp ứng rất tốt yêu cầu học tập và làm việc. Nhằm nâng cao kiến thức cho ngƣời nghiên cứu, và triển khai tài liệu học tập đến sinh viên, giúp sinh viên tiếp cận với một họ vi điều khiển mới, mạnh, tạo điều kiện thuận lợi để sử dụng các kit thí nghiệm đƣợc tài trợ một cách hiệu quả, ngƣời nghiên cứu tìm hiểu về MSP430 và xây dựng các bài giảng dạy dựa trên module ez430-RF2500. 2. CÁCH THỨC TIẾP CẬN VÀ NGHIÊN CỨU: - Tác giả chia thành nhiều module để tiếp cận. Đầu tiên nghiên cứu cấu trúc cơ bản của họ MSP430, sau đó cụ thể vi điều khiển MSP430F2274, rồi board phát triển EZ430. - Xây dựng bộ thí nghiệm để mở rộng hệ thống, giúp cho việc thí nghiệm dễ dàng hơn. - Nghiên cứu về tập lệnh C, ASM, các chƣơng trình soạn thảo, biên dịch và debug. Nội dung nghiên cứu chính đƣợc trình bày chia theo các module chính nhƣ sau: p Trang | 3
  7. Xây dựng các module bài giảng MSP430 Module 1 Tổng quan về MSP430F2274 1.1 TỔNG QUAN VỀ MSP430F2274 MSP 430 là họ vi điều khiển cấu trúc RISC 16-bit đƣợc sản xuất bởi công ty Texas Instruments. MSP là chữ viết tắt của “MIXED SIGNAL MICROCONTROLLER”. Là dòng vi điều khiển siêu tiết kiệm năng lƣợng, sử dụng nguồn thấp, khoảng điện áp nguồn cấp từ 1.8V – 3.6V. MSP 430 kết hợp các đặc tính của một CPU hiện đại và tích hợp sẵn các module ngoại vi. Đặc biệt Chíp MSP 430 là giải pháp thích hợp cho những ứng dụng yêu cầu trộn tín hiệu. Những đặc tính của dòng MSP 430 bao gồm: Điện áp nguồn: 1.8V – 3.6 V. Mức tiêu thụ năng lƣợng cực thấp: - Chế độ hoạt động: 270 μA tại 1MHz, 2,2 V. - Chế độ chờ: 0.7 μA. - Chế độ tắt (RAM vẫn đƣợc duy trì): 0.1 μA. Thời gian đánh thức từ chế độ Standby nhỏ hơn 1μs. Cấu trúc RISC-16 bit, Thời gian một chu kỳ lệnh là 62.5 ns Cấu hình các module Clock cơ bản: - Tần số nội lên tới 16 MHz với 4 hiệu chỉnh tần số - 1%. - Thạch anh 32 KHz. - Tần số làm việc lên tới 16 MHz. - Bộ cộng hƣởng. - Nguồn tạo xung nhịp bên ngoài. - Điện trở bên ngoài. Timer_A 16 bit với 3 thanh ghi Capture/ so sánh độ rộng 16 bit. Timer_B 16 bit với 3 thanh ghi Capture/so sánh độ rộng 16 bit. Giao diện truyền thông nối tiếp: - Hỗ trợ truyền thông nối tiếp nâng cao UART, tự động dò tìm tốc độ Baud. - Bộ mã hóa và giải mã IrDA (Infrared Data Associatio). - Chuẩn giao tiếp động bộ SPI. - Chuẩn giao tiếp I2C. Bộ chuyển đổi ADC 10 bit, 200 ksps với điện áp tham chiếu nội, Lấy mẫu và chốt. Tự động quét kênh, điều khiển chuyển đổi dữ liệu. Hai bộ khuếch đại thuật toán (hoạt động) có thể định cấu hình (Đối với MSP430x22x4). Bảo vệ sụt áp. Bộ nạp chƣơng trình. Module mô phỏng trên chip. MSP430 đƣợc sử dụng và biết đến đặc biệt trong những ứng dụng về thiết bị đo có sử dụng hoặc không sử dụng LCD với chế độ nguồn nuôi rất thấp. Với chế độ nguồn nuôi từ khoảng 1,8 đến 3,6v và 5 chế độ bảo vệ nguồn. p Trang | 4
  8. Xây dựng các module bài giảng MSP430 Với sự tiêu thụ dòng rất thấp trong chế độ tích cực thì dòng tiêu thụ là 200uA, 1Mhz, 2.2V; với chế độ Standby thì dòng tiêu thụ là 0.7uA. Và chế độ tắt chỉ duy trì bộ nhớ Ram thì dòng tiêu thụ rất nhỏ 0.1uA. MSP430 có ƣu thế về chế độ nguồn nuôi. Thời gian chuyển chế độ từ chế độ standby sang chế độ tích cực rất nhỏ (< 1us). Và có tích hợp 96 kiểu hình cho hiển thị LCD, các thanh ghi 16 bit, CPU RISC 16 bit mạnh mẽ. Có một đặc điểm của họ nhà MSP là khi MCU không có tín hiệu dao động ngoại, thì MSP sẽ tự động chuyển sang hoạt động ở chế độ dao động nội. Sơ đồ chân của 2 loại MSP430 Hình: Sơ đồ chân của hai dạng IC MSP430 p Trang | 5
  9. Xây dựng các module bài giảng MSP430 1.2 CẤU TRÚC VI ĐIỀU KHIỂN MSP430F2274 Hình : Cấu trúc của MSP430F2274 1.3 TÌM HIỂU VỀ CPU MSP430F2274 CPU của họ vi điều khiển MSP430 mang những đặc điểm thiết kế đặc biệt nhƣ kĩ thuật tính toán rẽ nhánh, sử dụng ngôn ngữ lập trình cấp cao nhƣ C, C. CPU còn có thể định địa chỉ của một vùng địa chỉ bằng cách đánh dấu vùng nhớ. CPU mang những đặc điểm sau: Cấu trúc RISC Đầy đủ các thanh ghi truy xuất bao gồm các thanh ghi: bộ đếm chƣơng trình (PC), thanh ghi trạng thái (SR), thanh ghi con trỏ ngăn xếp . Mỗi lệnh thực hiện trong 1 chu kì Số lƣợng thanh ghi file lớn giảm thời gian lấy lệnh từ bộ nhớ Bus định địa chỉ 20 bit cho phép truy xuất trực tiếp và rẽ nhánh trong toàn bộ bộ nhớ mà không cần phân trang Bus dữ liệu 16 bit cho phép truy xuất trực tiếp. Bộ tạo hằng số tạo ra 6 hằng số thƣờng dùng nhất một cách trực tiếp, giảm kích thƣớc code. Chuyển đổi trực tiếp giữa các vùng nhớ không cần thông qua thanh ghi trung gian. Định địa chỉ theo Byte, Word và Word (20bit địa chỉ). Sơ đổ khối CPU: p Trang | 6
  10. Xây dựng các module bài giảng MSP430 Hình: Kiến trúc RISC của CPU p Trang | 7
  11. Xây dựng các module bài giảng MSP430 Module 2 Tổ chức bộ nhớ MSP430F2274 2.1 CẤU TRÚC VÙNG NHỚ : Sơ đồ vùng nhớ chương trình và dữ liệu Theo sơ đồ vùng nhớ ta thấy MSP430 sử dụng kiến trúc von Neumann. Kiến trúc Von Neumann có một địa chỉ bộ nhớ (memory address bus (MAB)) và một bus để chuyển dữ liệu (memory data bus (MDB))vào và ra đơn vị xử lý trung tâm (CPU). CPU có thể đọc một lệnh, hoặc đọc/ghi dữ liệu từ bộ nhớ. Tuy vậy, cả hai quá trình tƣơng tác với lệnh hoặc với dữ liệu, không thể thực hiện cùng lúc. - FLASH/ROM Địa chỉ bắt đầu của Flash/ROM phụ thuộc vào độ lớn của Flash/ROM và còn tùy thuộc vào từng họ vi điều khiển. Địa chỉ kết thúc của Flash/ROM là 0x1FFFFh. Flash/ROM có thể sử dụng cho cả mã chƣơng trình và dữ liệu. Những bảng Byte hoặc Word có thể đƣợc tồn trữ và sử dụng ngay trong Flash/ROM mà không cần copy vào RAM trƣớc khi sử dụng chúng. Những bảng véc tơ đƣợc ánh xạ đến 16 Word phía trên của vùng địa chỉ Flash/ROM với ƣu tiên ngắt cao nhất ở vùng địa chỉ cao nhất của Flash/ROM. - RAM RAM bắt đầu ở địa chỉ 0200h và giới hạn cuối cùng tùy thuộc vào kích thƣớc của RAM. RAM có thể sử dụng cho cả mã chƣơng trình và dữ liệu. p Trang | 8
  12. Xây dựng các module bài giảng MSP430 - CÁC MODULE NGOAI VI Trong vùng không gian địa chỉ của MSP430 có 2 vùng địa chỉ dành cho những Mô đun ngoại vi. Vùng địa chỉ từ 0100 đến 01FFh sử dụng dành riêng cho những mô đun ngoại vi 16 Bít. Vùng địa chỉ từ 010 đến 0FFh sử dụng dành riêng cho những mô đun ngoại vi 8 Bít. - THANH GHI CÓ CHỨC NĂNG ĐẶC BIỆT SFRs liên quan nhiều đến sự cho phép những tính năng của một số mô đun ngoại vi và dùng để truyền những tín hiệu ngắt từ ngoại vi. SFRs nằm ở 16 Byte thấp của vùng địa chỉ và đƣợc tổ chức bằng Byte. SFRs chỉ có thể đƣợc truy cập bởi chỉ thị Byte. 2.2 CÁC THANH GHI CPU Gồm có 16 thanh ghi 16-bit, trong đó bốn thanh ghi đầu tiên từ R0 – R3 đƣợc chỉ định làm thanh ghi bộ đếm chƣơng trình, con trỏ ngăn xếp, thanh ghi trạng thái, thanh ghi tạo hằng số. Các thanh ghi còn lại (R4 – R15) là những thanh ghi sử dụng mục đích chung. THANH GHI BỘ ĐẾM CHƢƠNG TRÌNH (PROGRAM COUNTER PC) Thanh ghi PC (R0) chỉ đến lệnh kế tiếp đƣợc thực hiện, mỗi lệnh sử dụng một số chẵn byte (2, 4, hoặc 6) và thanh ghi PC sẽ tăng lên một cách tƣơng ứng. Địa chỉ truy xuất trong khoảng 64Kb, định dạng word. : Thanh ghi PC Ví dụ: MOV #LABEL,PC; Đƣa nội dung của LABEL vào PC MOV LABEL,PC ; Đƣa địa chỉ LABEL vào PC MOV @R14, PC ; Đƣa gián tiếp địa chỉ của nội dung trong R14 vào PC THANH GHI CON TRỎ NGĂN XẾP (STACK POINTER SP) : Thanh ghi SP Thanh ghi SP đƣợc sử dụng bởi CPU để lƣu địa chỉ trở về từ chƣơng trình con hoặc ngắt. Ngoài ra thanh ghi SP cũng đƣợc sử dụng do phần mềm và các kiểu định địa chỉ. Ví dụ: MOV 2(SP),R6 ;chuyển nội dung I2 vào R6 MOV R7,0(SP) ;ghi đè giá trị R7 lên SP p Trang | 9
  13. Xây dựng các module bài giảng MSP430 : Sử dụng lệnh PUSH và POP : , POP THANH GHI TRẠNG THÁI (STATUS REGISTER SR) : Thanh ghi SR Bit V :cờ tràn .bằng 1 khi phép toán có tràn . Đối với lệnh cộng : ADD(.B), ADDC(.B) .bit V=1 khi: P P = N N N = P Các trƣờng hợp khác bằng 0. Đối với lệnh trừ,so sánh : SUB(.B) , SUBC(.B) , CMP(.B) .bit V=1 khi: P - N = N N - P = P Các trƣờng hợp khác bằng 0. (P : Possitive; N :Negative) Bit SCG1: tạo xung clock hệ thống 1, set bit này bằng 1 sẽ tắt SMCLK Bit SCG0: tạo xung clock hệ thống 0, set bit này bằng 1 sẽ tắt DCO (DIGITAL COTROLLED OSCILLATOR) nếu DCOCLK không dùng cho MCLK hoặc SMCLK p Trang | 10