intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Kỹ thuật sử dụng Vi điều khiển 8 - bit SG8V1: Phần 1

Chia sẻ: Tieppham Tieppham | Ngày: | Loại File: PDF | Số trang:98

105
lượt xem
12
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mời các bạn tham khảo phần 1 Tài liệu Hướng dẫn sử dụng Vi điều khiển 8 - bit SG8V1 để cùng tìm hiểu một số hướng dẫn về: Kiến trúc pipeline, chế độ tiết kiệm năng lượng, reset củaSG8V1, tổ chức bộ nhớ chương trình, tổ chức bộ nhớ dữ liệu, bộ nhân 8 - bit, ngắt, cổng truy suất dữ liệu, watchdog timer, ... Đây là nguồn tham khảo hữu ích đối với các bạn có nhu cầu quan tâm đến điện/điện tử.

Chủ đề:
Lưu

Nội dung Text: Kỹ thuật sử dụng Vi điều khiển 8 - bit SG8V1: Phần 1

  1. Trang chủ:www.icdrec.edu.vn E-mail: info@icdrec.edu.vn Điện thoại: (84-8).37242171 - (84-8).37242172 HƯỚNG DẪN SỬ DỤNG VI ĐIỀU KHIỂN 8-bit SG8V1 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 1
  2. Nội dung Nội dung Nội dung........................................................................................................................................... 2 Mục lục hình .................................................................................................................................... 6 Mục lục bảng.................................................................................................................................... 8 Danh Mục Thuật Ngữ và Từ Viết Tắt.............................................................................................. 9 1. Giới thiệu ................................................................................................................................... 12 1.1. Sơ đồ chân ........................................................................................................................... 14 1.2. Sơ đồ khối ........................................................................................................................... 16 2. Kiến trúc pipeline ....................................................................................................................... 17 2.1. Các bước thực hiện lệnh ..................................................................................................... 17 2.2. Kiến trúc pipeline 3 tầng ..................................................................................................... 17 2.3. Cách tính số chu kỳ thực hiện lệnh ..................................................................................... 18 3. Chế độ tiết kiệm năng lượng (IDLE Mode) ............................................................................... 21 3.1. Mô tả ................................................................................................................................... 21 3.2. Thanh ghi báo trạng thái CPU - CPUSTA ......................................................................... 23 3.3. Bộ đếm chương trình (PC) .................................................................................................. 23 3.4. Stack .................................................................................................................................... 23 3.4.1. Truy xuất giá trị mới nhất của Stack (TS: Top of Stack) ............................................. 24 3.4.2. Stack Pointer (SP) ........................................................................................................ 24 4. Reset của SG8V1 ....................................................................................................................... 27 4.1. Tổng quan về Reset ............................................................................................................. 27 4.2. Reset bởi người sử dụng (chân RST ) .............................................................................. 27 4.3. Reset khi chọn lập trình Flash (chân SPCS) ....................................................................... 27 4.4. Reset bởi stack .................................................................................................................... 28 4.5. Reset bởi Watchdog ............................................................................................................ 28 4.6. Định thời Reset ................................................................................................................... 28 5. Tổ chức bộ nhớ chương trình ..................................................................................................... 30 5.1. Bộ đếm chương trình .......................................................................................................... 30 5.2. Stack .................................................................................................................................... 31 5.2.1. Truy xuất giá trị mới nhất của Stack (TS: Top of Stack) ............................................. 31 5.2.2. Stack Pointer (SP) ........................................................................................................ 32 6. Tổ chức bộ nhớ dữ liệu .............................................................................................................. 33 6.1. Thanh ghi chọn băng ........................................................................................................... 33 6.2. Truy cập nhanh bộ nhớ dữ liệu ........................................................................................... 34 6.3. Thanh ghi mục đích chung .................................................................................................. 35 6.4. Thanh ghi chức năng đặc biệt ............................................................................................. 35 6.5. Các chế độ định địa chỉ bộ nhớ ........................................................................................... 40 6.5.1. Kế thừa và giá trị từ mã lệnh........................................................................................ 40 6.5.2. Định địa chỉ trực tiếp ................................................................................................... 40 6.5.3. Định địa chỉ gián tiếp qua con trỏ ................................................................................ 40 7. Bộ nhân 8-bit.............................................................................................................................. 42 8. Ngắt ............................................................................................................................................ 43 8.1. Thanh ghi quản lý ngắt toàn cục (GIC) .............................................................................. 44 8.2. Thanh ghi điều khiển ngắt theo cạnh (INTEDG)................................................................ 46 8.3. Thanh ghi cho phép ngắt 1 (IE1) ........................................................................................ 46 8.4. Thanh ghi độ ưu tiên ngắt 1 (IP1) ....................................................................................... 47 8.5. Thanh ghi lưu cờ ngắt 1 (IF1) ............................................................................................. 48 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 2
  3. Nội dung 8.6. Thanh ghi cho phép ngắt 2 (IE2) ........................................................................................ 50 8.7. Thanh ghi độ ưu tiên ngắt 2 (IP2) ....................................................................................... 51 8.8. Thanh ghi lưu cờ ngắt 2 (IF2) ............................................................................................. 52 8.9. Thanh ghi cho phép ngắt 3 (IE3) ........................................................................................ 54 8.10. Thanh ghi độ ưu tiên ngắt 3 (IP3) ..................................................................................... 55 8.11. Thanh ghi lưu cờ ngắt 3 (IF3) ........................................................................................... 55 9. Cổng truy xuất dữ liệu (General Purpose Input/Output - GPIO) ............................................... 57 9.1. GPIO PortA ......................................................................................................................... 59 9.2. GPIO PortB ......................................................................................................................... 60 9.3. GPIO PortC ......................................................................................................................... 63 9.4. GPIO PortD ......................................................................................................................... 66 10. Watchdog Timer ...................................................................................................................... 70 11. Timer 0 ..................................................................................................................................... 72 11.1. Mô tả Timer 0 ................................................................................................................... 72 11.2. Ngắt Timer0 ...................................................................................................................... 73 11.3. Bộ chia tần trước ............................................................................................................... 73 11.4. Thanh ghi .......................................................................................................................... 74 11.4.1. WT0CON ................................................................................................................... 74 11.4.2. T0REG ....................................................................................................................... 75 12. Timer 1 ..................................................................................................................................... 76 12.1. Chức năng của Timer 1 ..................................................................................................... 76 12.1.1. Tổng quan chức năng định thời của Timer 1 ............................................................. 76 12.1.2. Các chế độ của Timer1 .............................................................................................. 77 12.1.3. Đọc và ghi 16-bit thanh ghi bộ đếm Timer1 .............................................................. 78 12.2. Khối bắt và so sánh sự kiện .............................................................................................. 78 12.2.1. Chế độ bắt sự kiện...................................................................................................... 79 12.2.2. Chế độ so sánh sự kiện............................................................................................... 80 12.3. Thanh ghi .......................................................................................................................... 80 12.3.1. T1CON....................................................................................................................... 81 12.3.2. T1RH.......................................................................................................................... 82 12.3.3. T1RL .......................................................................................................................... 82 12.3.4. CCRH......................................................................................................................... 82 12.3.5. CCRL ......................................................................................................................... 82 13. Timer 2 và Timer 3 (Timer_x) ................................................................................................. 83 13.1. Tổng quan Timer_x........................................................................................................... 83 13.2. Hoạt động của Timer_x .................................................................................................... 83 13.3. Ngắt Timer_x .................................................................................................................... 84 13.4. Đọc/ghi 10-bit trong Timer_x. .......................................................................................... 84 13.5. Thanh ghi .......................................................................................................................... 85 13.5.1. TxCON....................................................................................................................... 85 13.5.2. TxRH.......................................................................................................................... 85 13.5.3. TxRL .......................................................................................................................... 86 13.5.4. TxPRH ....................................................................................................................... 86 13.5.5. TxPRL ........................................................................................................................ 86 14. Bộ tạo xung PWM (The Pulse Width Modulation) ................................................................. 87 14.1. Tổng quan PWM_x ........................................................................................................... 87 14.2. Chu kỳ xung PWM_x ....................................................................................................... 87 14.3. Chu kỳ nhiệm vụ ............................................................................................................... 88 14.4. Cấu hình hoạt động cho khối PWM_x .............................................................................. 89 14.5. Thanh ghi .......................................................................................................................... 90 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 3
  4. Nội dung 14.5.1. PWMxCON................................................................................................................ 90 14.5.2. PWMxRL ................................................................................................................... 90 15. Serial Peripheral Interface (SPI) .............................................................................................. 91 15.1. Giới thiệu SPI.................................................................................................................... 91 15.2. Các thanh ghi của SPI ....................................................................................................... 92 15.2.1. Thanh ghi điều khiển SPI - SPICON ......................................................................... 92 15.2.2. Thanh ghi trạng thái - SPISTA .................................................................................. 93 15.3. Hoạt động của SPI ............................................................................................................ 94 15.4. Các bước lập trình SPI ...................................................................................................... 96 15.4.1. Lập trình SPI ở chế độ master .................................................................................... 96 15.4.2. Lập trình SPI ở chế độ slave ...................................................................................... 97 16. Inter-Integrated Circuit (I2C) ................................................................................................... 99 16.1. Thanh ghi của I2C ............................................................................................................. 99 16.1.1. I2CCON1 ................................................................................................................... 99 16.1.2. I2CCON2 ................................................................................................................. 101 16.1.3. I2CSTA .................................................................................................................... 103 16.1.4. CNTH/ADDRH và CNTL/ADDRL ........................................................................ 105 16.1.5. I2CBUF .................................................................................................................... 106 16.2. Hoạt động ........................................................................................................................ 107 16.3. Chế độ Master ................................................................................................................. 108 16.3.1. Master Truyền .......................................................................................................... 108 16.3.2. Master Nhận ............................................................................................................. 111 16.3.3. Đồng bộ clock .......................................................................................................... 114 16.3.4. Phân xử .................................................................................................................... 114 16.3.5. Định thời của sự kiện Start ...................................................................................... 115 16.3.6. Định thời của sự kiện Repeat Start .......................................................................... 116 16.3.7. Định thời của sự kiện Stop ....................................................................................... 117 16.3.8. Xung đột bus ............................................................................................................ 117 16.4. Chế độ Slave ................................................................................................................... 121 16.4.1. Định địa chỉ Slave .................................................................................................... 121 16.4.2. Mặt nạ địa chỉ........................................................................................................... 121 16.4.3. Địa chỉ 7-bit ............................................................................................................. 122 16.4.4. Chế độ 10-bit địa chỉ ................................................................................................ 124 16.5. Kéo dài xung clock ......................................................................................................... 125 16.6. Địa chỉ General Call........................................................................................................ 126 16.7. Dạng sóng ....................................................................................................................... 126 16.7.1. Dạng sóng I2C Master phát (chế độ 7-bit hoặc 10-bit địa chỉ) ................................ 127 16.7.2. Dạng sóng I2C Master nhận (chế độ 7-bit địa chỉ) .................................................. 128 16.7.3. Dạng sóng I2C Slave nhận chế độ 7-bit địa chỉ ....................................................... 129 16.7.4. Dạng sóng I2C Slave phát chế độ 7-bit địa chỉ ........................................................ 130 16.7.5. Dạng sóng I2C Slave nhận chế độ 10-bit địa chỉ ..................................................... 131 16.7.6. Dạng sóng I2C Slave phát chế độ 10-bit địa chỉ ...................................................... 132 17. Ngoại vi UART ...................................................................................................................... 133 17.1. Tổng quan về ngoại vi UART ......................................................................................... 133 17.2. Các thanh ghi liên quan đến ngoại vi UART .................................................................. 133 17.2.1. Thanh ghi trạng thái của ngoại vi UART thứ x (UxSTA) ....................................... 134 17.2.2. Thanh ghi điều khiển của UART thứ x .................................................................... 135 17.2.3. Thanh ghi tốc độ baud của UART thứ x (UxBRL) ................................................. 136 17.2.4. Thanh ghi lưu dữ liệu truyền của UART thứ x (UxTXREG) .................................. 137 17.2.5. Thanh ghi lưu dữ liệu nhận của UART thứ x (UxRXREG) .................................... 137 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 4
  5. Nội dung 17.2.6. Thanh ghi cho phép ngắt thứ 2 (IE2) ....................................................................... 137 17.2.7. Thanh ghi thiết lập ưu tiên ngắt thứ 2 (IP2) ............................................................. 138 17.2.8. Thanh ghi trạng thái ngắt thứ 2 (IF2)....................................................................... 139 17.2.9. Thanh ghi cấu hình chiều dữ liệu cho Port C (DIRC) ............................................. 141 17.2.10. Thanh ghi cấu hình chiều dữ liệu cho Port B (DIRB) ........................................... 141 17.3. Bộ tạo tốc độ Baud (BRG) .............................................................................................. 142 17.3.1. Tính toán tốc độ Baud .............................................................................................. 143 17.3.2. Xung lấy mẫu và xung dịch dữ liệu bên trong UART ............................................. 144 17.3.3. Lấy mẫu dữ liệu ....................................................................................................... 145 17.3.4. Dịch dữ liệu.............................................................................................................. 145 17.4. Bộ truyền UART ............................................................................................................. 146 17.4.1. Cấu trúc bộ truyền UART ........................................................................................ 146 17.4.2. Cấu hình sử dụng bộ truyền của ngoại vi UART ..................................................... 147 17.5. Bộ nhận UART ............................................................................................................... 149 17.5.1. Cấu trúc bộ nhận UART .......................................................................................... 149 17.5.2. Cấu hình sử dụng bộ nhận của ngoại vi UART ....................................................... 150 18. Ngoại vi ADC ........................................................................................................................ 153 18.1. Cấu trúc cơ bản của ADC ............................................................................................... 153 18.2. Các thanh ghi liên quan đến hoạt động của ADC ........................................................... 154 18.2.1. Thanh ghi điều khiển thứ 1 của ADC (ADCON1) .................................................. 154 18.2.2. Thanh ghi điều khiển thứ 2 của ADC (ADCON2) .................................................. 155 18.2.3. Thanh ghi lưu dữ liệu ADC (ADBUF) .................................................................... 155 18.2.4. Thanh ghi cho phép ngắt số 3 (IE3) ......................................................................... 155 18.2.5. Thanh ghi ưu tiên ngắt số 3 (IP3) ............................................................................ 156 18.2.6. Thanh ghi trạng thái ngắt số 3 (IF3) ........................................................................ 156 18.3. Hoạt động của ngoại vi ADC .......................................................................................... 157 18.4. Các chú ý khi sử dụng ngoại vi ADC ............................................................................. 158 18.4.1. Nguồn xung clock cấp cho ngoại vi ADC ............................................................... 158 18.4.2. Các yêu cầu về thông số và kết nối .......................................................................... 159 19. Tập lệnh ................................................................................................................................. 161 19.1. Giới thiệu ........................................................................................................................ 161 19.2. Thanh ghi cờ phép toán ................................................................................................... 163 19.3. Tóm tắt tập lệnh .............................................................................................................. 163 19.4. Hoạt động của lệnh ......................................................................................................... 166 20. Bộ nhớ chương trình FLASH ................................................................................................ 197 20.1. Phân vùng FLASH .......................................................................................................... 197 20.2. Chế độ bảo vệ chương trình ............................................................................................ 198 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 5
  6. Nội dung Mục lục hình Hình 1-1: Sơ đồ chân ..................................................................................................................... 14 Hình 1-2: Sơ đồ khối của SG8V1 .................................................................................................. 16 Hình 2-1: Các bước thực hiện lệnh ................................................................................................ 17 Hình 2-2: Hoạt động thực hiện lệnh với kiến trúc không có pipeline ........................................... 18 Hình 2-3: Thực hiện lệnh với kiến trúc có pipeline ....................................................................... 18 Hình 2-4: Thực hiện lệnh thường với kiến trúc đường ống ........................................................... 18 Hình 2-5: Thực hiện lệnh bypass với kiến trúc đường ống ........................................................... 19 Hình 2-6: Thực hiện lệnh rẽ nhánh đơn chu kỳ với kiến trúc đường ống...................................... 19 Hình 2-7: Thực hiện lệnh rẽ nhánh 2 chu kỳ với kiến trúc đường ống .......................................... 20 Hình 3-1: Mô tả clock trong chế độ nghỉ ....................................................................................... 21 Hình 3-2: Mô tả trường hợp CPU wake up và thực hiện tiếp tục quá trình trước đó .................... 22 Hình 3-3: Mô tả trường hợp CPU wake up và vào chương trình ngắt........................................... 22 Hình 3-4: Stack và các thanh ghi liên quan ................................................................................... 24 Hình 4-1: Mạch kết nối đến chân RST ....................................................................................... 27 Hình 4-2: Mạch reset ngoài............................................................................................................ 29 Hình 5-1: Bản đồ địa chỉ của bộ nhớ dữ liệu ................................................................................. 30 Hình 5-2: Stack và các thanh ghi liên quan ................................................................................... 32 Hình 6-1: Cấu trúc bộ nhớ dữ liệu ................................................................................................. 33 Hình 6-2: Sử dụng thanh ghi BS để chọn băng ............................................................................. 34 Hình 9-1: Cell chuẩn của IO_PAD ................................................................................................ 57 Hình 9-2: Mô tả một kết nối Port cơ bản ....................................................................................... 59 Hình9-3: IO PortA ......................................................................................................................... 60 Hình9-4: IO PortB[0:1] và PortB[4] - dùng chung với Timer0 ..................................................... 61 Hình9-5: IO PortB[2:3] - dùng chung với UART.......................................................................... 61 Hình9-6: IO PortB[5:7] - dùng chung với bộ lập trình FLASH .................................................... 62 Hình9-7: IO PortC[0:1] - dùng chung với UART1........................................................................ 64 Hình9-8: IO PortC[2:3] - dùng chung với PWM ........................................................................... 64 Hình9-9: IO PortC[4:5] - dùng chung với SPI............................................................................... 64 Hình9-10: IO PortC[6:7] - dùng chung với SPI............................................................................. 65 Hình 9-11: IO PortD[0:3] - dùng chung với ngắt ngoài ................................................................ 67 Hình 9-12: IO PortD[4:5] - dùng chung với I2C ........................................................................... 67 Hình 9-13: IO PortD[6] - dùng chung với Capture/Compare ........................................................ 68 Hình 9-14: IO PortD[7] - dùng chung với Timer1......................................................................... 68 Hình 10-1 : Mô tả khối Watchdog Timer ...................................................................................... 70 Hình 11-1: Mô tả sơ đồ khối Timer0 ............................................................................................. 73 Hình 12-1: Mô tả sơ đồ khối Timer 1 ............................................................................................ 77 Hình 12-2: Sơ đồ của khối bắt sự kiện........................................................................................... 80 Hình 12-3: Sơ đồ của khối so sánh sự kiện.................................................................................... 80 Hình 13-1: Sơ đồ khối Timer_x (Timer 2 hoặc Timer 3) .............................................................. 83 Hình 14-1: Sơ đồ của khối PWM_x............................................................................................... 87 Hình 14-2: Dạng sóng PWM ......................................................................................................... 89 Hình15-1: Sơ đồ khối SPI .............................................................................................................. 91 Hình15-2: Sơ đồ kết nối của SPI ................................................................................................... 95 Hình 15-3: các chế độ truyền dữ liệu của SPI ............................................................................... 95 Hình 15-4: dạng sóng của SPI slave (CKP = 0, CKE = 1) ........................................................... 98 Hình 15-5: đồng bộ tín hiệu SPI SSx ............................................................................................. 98 Hình 16-1: Kết nối các thiết bị đến bus I2C ................................................................................ 108 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 6
  7. Nội dung Hình 16-2: Khung truyền với địa chỉ 7-bit ở chế độ Master truyền ............................................ 109 Hình 16-3: Khung truyền với địa chỉ 10-bit ở chế độ Master truyền .......................................... 110 Hình 16-4: Khung truyền với địa chỉ 7-bit ở chế độ Master nhận ............................................... 111 Hình 16-5: Khung truyền với địa chỉ 10-bit ở chế độ Master nhận ............................................. 113 Hình 16-6: Đồng bộ clock............................................................................................................ 114 Hình 16-7: Phân xử ...................................................................................................................... 115 Hình 16-8: Định thời của quá trình tạo sự kiện Start ................................................................... 116 Hình 16-9: Định thời của quá trình tạo sự kiện Repeat Start ....................................................... 117 Hình 16-10: Định thời của quá trình tạo sự kiện Stop ................................................................. 117 Hình 16-11: Xung độ bus khi tạo Start (1) .................................................................................. 118 Hình 16-12: Xung độ bus khi tạo Start (2) .................................................................................. 118 Hình 16-13: Xung độ bus khi tạo Repeat Start (1) ...................................................................... 119 Hình 16-14: Xung độ bus khi tạo Repeat Start (2) ...................................................................... 119 Hình 16-15: Xung độ bus khi tạo Repeat Start (3) ...................................................................... 119 Hình 16-16: Xung độ bus khi tạo Stop ........................................................................................ 119 Hình 16-17: Xung đột bus trong quá trình truyền nhận dữ liệu................................................... 120 Hình 16-18: Địa chỉ 7-bit ............................................................................................................. 122 Hình 16-19: Định địa chỉ chế độ 10 bit........................................................................................ 124 Hình 16-20: Dạng sóng I2C Master phát ..................................................................................... 127 Hình 16-21: Dạng sóng I2C Master nhận .................................................................................... 128 Hình 16-22: Dạng sóng I2C Slave nhận chế độ 7-bit địa chỉ ...................................................... 129 Hình 16-23: Dạng sóng I2C Slave phát chế độ 7-bit địa chỉ ....................................................... 130 Hình 16-24: Dạng sóng I2C Slave nhận chế độ 10-bit địa chỉ .................................................... 131 Hình 16-25: Dạng sóng I2C Slave phát chế độ 10-bit địa chỉ ..................................................... 132 Hình 17-1: Các thành phần chính của ngoại vi UART ................................................................ 133 Hình 17-2: Xung lấy mẫu dữ liệu và xung dịch dữ liệu tính theo hệ số N .................................. 144 Hình 17-3: Xung lấy mẫu dữ liệu và xung dịch dữ liệu với N = 0 .............................................. 144 Hình 17-4: Xung lấy mẫu dữ liệu và xung dịch dữ liệu với N = 1 .............................................. 145 Hình 17-5: Lẫy mẫu dữ liệu với N ≠ 0 ........................................................................................ 145 Hình 17-6: Lấy mẫu dữ liệu với N = 0 ........................................................................................ 145 Hình 17-7: Dịch dữ liệu ............................................................................................................... 146 Hình 17-8: Minh họa cấu trúc cơ bản của bộ truyền UART........................................................ 147 Hình 17-9: Truyền một khung dư liệu ......................................................................................... 148 Hình 17-10: Truyền liên tục ......................................................................................................... 149 Hình 17-11: Cấu trúc của UART nhận ........................................................................................ 150 Hình 17-12: UART tiếp nhận ...................................................................................................... 152 Hình 18-1: Sơ đồ khối ngoại vi ADC .......................................................................................... 153 Hình 18-2: Giản đồ thời gian cho hoạt động của ADC ............................................................... 158 Hình 18-3: Lần chuyển đổi đầu tiên sau khi bit ADON (ADCON1[7]) được tích cực ............... 158 Hình 18-4: Mô hình ngõ vào của ADC ........................................................................................ 160 Hình20-1: Sơ đồ kết nối bộ nạp ................................................................................................... 197 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 7
  8. Nội dung Mục lục bảng Bảng 1-1: Mô tả chân ..................................................................................................................... 15 Bảng 4-1: Điều kiện reset cho các thanh ghi đặc biệt .................................................................... 28 Bảng 6-1: Các thanh ghi chức năng đặc biệt ................................................................................. 36 Bảng 9-1: Mô tả chân của một IO_PAD ........................................................................................ 57 Bảng 9-2: Mô tả chiều.................................................................................................................... 58 Bảng 9-3: Mô tả bảng nhận dữ liệu ............................................................................................... 58 Bảng 9-4: Thanh ghi DIRA............................................................................................................ 60 Bảng 9-5: Mô tả thanh ghi PORTA ............................................................................................... 60 Bảng 9-6: Chức năng của PortB .................................................................................................... 62 Bảng 9-7: Thanh ghi DIRB ............................................................................................................ 62 Bảng9-8: Mô tả thanh ghi PORTB ................................................................................................ 63 Bảng 9-9: Chức năng của PortC .................................................................................................... 65 Bảng 9-10: Thanh ghi DIRC .......................................................................................................... 65 Bảng9-11: Chức năng PORTC ...................................................................................................... 66 Bảng9-12: Chức năng của PortD ................................................................................................... 68 Bảng 9-13: Thanh ghi DIRD.......................................................................................................... 69 Bảng 9-14: Mô tả chức năng PORTD ............................................................................................ 69 Bảng 10-1 : Mô tả thanh ghi WT0CON......................................................................................... 70 Bảng 11-1: Mô tả thanh ghi WT0CON.......................................................................................... 74 Bảng 11-2: Mô tả thanh ghi T0REG .............................................................................................. 75 Bảng 12-1: Mô tả thanh ghi T1CON ............................................................................................. 81 Bảng 12-2: Mô tả thanh ghi T1RH ................................................................................................ 82 Bảng 12-3: Mô tả thanh ghi T1RL ................................................................................................. 82 Bảng 12-4: Mô tả thanh ghi CCRH ............................................................................................... 82 Bảng 12-5: Mô tả thanh ghi CCRL ................................................................................................ 82 Bảng 13-1: Mô tả thanh ghi TxCON ............................................................................................. 85 Bảng 13-2 Mô tả thanh ghi TxRH ................................................................................................. 85 Bảng 13-3 Mô tả thanh ghi TxRL .................................................................................................. 86 Bảng 13-4 Mô tả thanh ghi TxPRH ............................................................................................... 86 Bảng 13-5 Mô tả thanh ghi TxPRL................................................................................................ 86 Bảng 14-1: Mô tả thanh ghi PWMxCON ...................................................................................... 90 Bảng 14-2: Mô tả thanh ghi PWMxRL.......................................................................................... 90 Bảng 15-1: Thanh ghi SPI.............................................................................................................. 92 Bảng15-2: Thanh ghi điều khiển SPI- SPICON ............................................................................ 92 Bảng 15-3: Thanh ghi trạng thái SPI- SPISTA .............................................................................. 93 Bảng 16-1: Mô tả thanh ghi I2CCON1 ở chế độ Master ............................................................... 99 Bảng 16-2: Mô tả thanh ghi I2CCON1 ở chế độ Slave ............................................................... 100 Bảng 18-1. Một số giá trị cấu hình tham khảo cho xung clock ngoại vi ADC ............................ 159 Bảng 19-1: Mô tả cho các trường mã lệnh ................................................................................... 161 Bảng 19-2: Tập lệnh SG8V1........................................................................................................ 163 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 8
  9. Nội dung Danh Mục Thuật Ngữ và Từ Viết Tắt Thuật ngữ hoặc ký hiệu Mô tả Viết tắt của cụm từ “Reduced Instructions Set Computer” RISC Một cấu trúc hay phương pháp thiết kế vi xử lý theo hướng “đơn giản hóa tập lệnh”. Package Dạng đóng gói chip Viết tắt của cụm từ “Low-profile Quad Flat Package” LQFP Một dạng đóng gói chip với hình dạng phẳng, dẹp, bốn cạnh bằng nhau. Viết tắt của cụm từ “First In First Out” FIFO Một dạng bộ nhớ lưu dữ liệu hoạt động theo nguyên tắc dữ liệu được đọc ra theo đúng thứ tự dữ liệu được ghi vào. Truyền nhận song công. Một ngoại vi hỗ trợ “full-duplex” có full-duplex thể vừa truyền và nhận dữ liệu tại cùng một thời điểm. Kỹ thuật “đường ống” Một kỹ thuật thiết kế vi xử lý cho phép các lệnh có thể thực thi Pipeline theo kiểu gối đầu nhau nhằm tận dụng thời gian rỗi giữa các công đoạn, qua đó làm tăng tốc độ thực hiện lệnh của vi xử lý. Viết tắt của “Microcontroller Unit” MCU Bộ vi điều khiển Là một thuật ngữ chỉ một tác động hay hoạt động khôi phục lại Reset trạng thái ổn định ban đầu (trạng thái gốc). Clock Là xung nhịp đồng bộ Viết tắt của cụm từ “Central Processing Unit” CPU Là đơn vị xử lý trung tâm thực hiện giải mã, phân tích và thực thi các lệnh lập trình. Flash Tên của loại bộ nhớ được sử dụng làm bộ nhớ chương trình Stack Bộ lưu trữ địa chỉ truy cập lệnh Bộ định thời giám sát hoạt động của CPU để tránh trường hợp Watchdog CPU bị treo khi đang xử lý. Wake up Là trạng thái sẵn sàng hoạt động UART Viết tắt của cụm từ “Universal Asynchronous Receiver © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 9
  10. Nội dung Thuật ngữ hoặc ký hiệu Mô tả Transmitter” Ngoại vi truyền nhận nối tiếp bất đồng bộ. Viết tắt của cụm từ “Analog Digital Conveter” ADC Ngoại vi chuyển đổi tín hiệu tương tự thành một giá trị số. Counter Bộ đếm sự kiện Viết tắt của “Direction” DIR Chiều Viết tắt của cụm từ “General Purpose Input/Output” GPIO Cổng truy xuất đa chức năng Port Cổng truy xuất Viết tắt của “Pull-Up” PU Kéo lên. Một chân giao tiếp hay tín hiệu được “kéo lên” nghĩa là chân giao tiếp hay tín hiệu đó sẽ có mức điện áp cao. Postscaler Bộ chia tần sau Prescaler Bộ chia tần trước Viết tắt của cụm từ “Pulse Width Modulation” PWM Điều chế độ rộng xung Viết tắt của cụm từ “Special Program Chip Select” SPCS Chân chọn lập trình Timer Bộ định thời Watchdog timer Bộ định thời cảnh báo Viết tắt của cụm từ “WatchDog Timer” WDT Bộ định thời cảnh báo OSC Dao động Weak pull-up Mức kéo lên yếu Viết tắt của cụm từ “Serial Peripheral Interface” SPI Giao tiếp ngoại vi nối tiếp SCK Clock nối tiếp của ngoại vi SPI Viết tắt của cụm từ “Serial data input” SDI Ngõ vào dữ liệu nối tiếp của ngoại vi SPI © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 10
  11. Nội dung Thuật ngữ hoặc ký hiệu Mô tả Viết tắt của cụm từ “Serial data output” SDO Ngõ ra dữ liệu nối tiếp của ngoại vi SPI SSx Lựa chọn slave hoạt động của ngoại vi SPI Master Chủ (ngoại vi điều khiển những ngoại vi tương đương khác) Slave Tớ (ngoại vi chịu sự điều khiển từ ngoại vi tương đương khác) Viết tắt của từ “Read” R Chỉ khả năng có thể truy xuất đọc thông tin. Viết tắt của từ “Write” W Chỉ khả năng có thể tác động ghi (thay đổi) nội dung dữ liệu. W(0) Vị trí bit chỉ được phép xóa hoặc ghi vào giá trị 0. BS Thanh ghi Bank Select. Nó dùng để chọn lựa băng cho RAM C, HC, Z Các bit trạng thái của ALU: Carry, Half Carry, Zero Viết tắt của cụm từ “Global Interrupt Enable” GIE Bit cho phép ngắt toàn cục Viết tắt của cụm từ “Program counter” PC Bộ đếm chương trình Viết tắt của cụm từ “Power-Down” PWD Bit thông báo chế độ tiết kiệm nguồn HI Byte cao của thanh ghi kết quả phép nhân LO Byte thấp của thanh ghi kết quả phép nhân WDTO Viết tắt của cụm từ “Watchdog time-out” TS Viết tắt của cụm từ “Top-of-Stack” Viết tắt của từ Accumulator ACC Thanh ghi dùng để lưu trữ của kết quả trung gian sau khi xử lý toán học và logic Bypass Bỏ qua (lệnh tiếp theo) © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 11
  12. Giới thiệu 1. Giới thiệu SG8V1 là một vi điều khiển RISC 8-bit đa dụng, sử dụng cho nhiều mục đích khác nhau. Tập lệnh gồm 60 lệnh, độ rộng mỗi từ lệnh 16-bit. Bộ nhớ chương trình 64Kx16 và bộ nhớ dữ liệu 16KB. Có 91 thanh ghi có chức năng đặc biệt. SG8V1 được tích hợp rất nhiều ngoại vi như Watchdog Timer, Timer/Counter, PWM, UART, I2C, SPI,… SG8V1 có thể được sử dụng để làm bộ phận điều khiển trung tâm của rất nhiều ứng dụng như máy giặt, máy điều hòa, robot, thiết bị truyền thông, quang báo điện tử,… Đặc tính chung  Tần số hoạt động: 1 MHz - 20 MHz  Tập lệnh 60 lệnh, độ rộng từ lệnh 16-bit  Có 19 nguồn ngắt  Có 15 mức stack chương trình  Bộ nhớ chương trình Flash bên trong chip, dung lượng 64K x 16  Bộ nhớ dữ liệu bên trong chip, dung lượng 16K x 8  Bộ nhân 8x8 bằng phần cứng, thực hiện đơn chu kỳ  Có chế độ tiết kiệm năng lượng  Có chế độ bảo mật bộ nhớ chương trình  Trình biên dịch Assembly/C  Có Watchdog Timer  Điện áp hoạt động 3.3V  Package cho chip LQFP 48 chân © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 12
  13. Giới thiệu Ngoại vi  Watchdog Timer: 16-bit, sử dụng xung clock hệ thống  Timer0: Timer/counter 8-bit, kết hợp với 8-bit prescaler; sử dụng xung clock hệ thống hoặc xung clock ngoài  Timer1: Timer/counter 16-bit, kết hợp với prescaler; sử dụng xung clock hệ thống hoặc xung clock ngoài; hỗ trợ chế độ capture/compare  Timer2: Timer/counter 10-bit, kết hợp với period register, prescaler và postscaler 10-bit; sử dụng xung clock hệ thống  Timer3: Timer/counter 10-bit, kết hợp với period register, prescaler và postscaler 10-bit; sử dụng xung clock hệ thống  GPIO: có 4 port GPIO, mỗi port 8-bit  PWM1: độ phân giải 10-bit  PWM2: độ phân giải 10-bit  UART1: truyền nhận full-duplex, FIFO 2 mức, có hỗ trợ chế độ truyền liên tục  UART2: truyền nhận full-duplex, FIFO 2 mức, có hỗ trợ chế độ truyền liên tục  UART3: truyền nhận full-duplex, FIFO 2 mức, có hỗ trợ chế độ truyền liên tục  SPI: truyền nhận full-duplex, hỗ trợ 2 chế độ Master và Slave  I2C: Hỗ trợ chế độ truyền Standard và Fast, chế độ Master và Slave, chế độ truyền 7-bit địa chỉ và 10-bit địa chỉ, chế độ Multi-master, chế độ General-call  ADC: Hỗ trợ 4 ngõ vào analog; độ phân giải 8-bit © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 13
  14. Giới thiệu 1.1. Sơ đồ chân VDD x 2 GND x 2 portc[7] / SS RST portc[6] / SDO OSC1 OSC2 portc[5] / SDI portc[4] / SCK porta[7] portc[3] / PWM2 porta[6] portc[2] / PWM1 porta[5] portc[1] / TX1 porta[4] portc[0] / RX1 porta[3] porta[2] spcs porta[1] porta[0] portd[7] / T1CLK portd[6] / CC SG8V1 portd[5] / SDA portb[7] / spdatao portd[4] / SCL portb[6] / spdatai portd[3] / INT3 portb[5] / spclk portd[2] / INT2 portb[4] / T0CLK portd[1] / INT1 portb[3] / TX2 portd[0] / INT0 portb[2] / RX2 portb[1] portb[0] VIN1 TX3 VIN2 UART3 VIN3 ADC RX3 VIN4 CAP VREF Hình 1-1: Sơ đồ chân © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 14
  15. Giới thiệu Bảng 1-1: Mô tả chân Tên chân Loại chân Mô tả chân VDD x 2 input Nguồn cung cấp GND x 2 Input Mass /RST input Reset OSC1 input Ngõ vào thạch anh OSC2 output Ngõ ra thạch anh Porta [7:0] In / out Bidirectional IO port Portb[7:0] In / out Bidirectional IO port Portc[7:0] In / out Bidirectional IO port Portd[7:0] In / out Bidirectional IO port spcs Input Chip select cho bộ lập trình Flash spclk Input Clock cho bộ lập trình Flash spdatai Input Dữ liệu ngõ vào cho bộ lập trình Flash spdatao Output Dữ liệu ngõ ra cho bộ lập trình Flash T0CLK Input Clock ngoài dùng cho Timer 0 TX1 Output Ngõ truyền của UART1 RX1 Input Ngõ nhận của UART1 TX2 Output Ngõ truyền của UART2 RX2 Input Ngõ nhận của UART2 TX3 Output Ngõ truyền của UART3 RX3 Input Ngõ nhận của UART3 PWM1 Output Ngõ ra của PWM1 PWM2 Output Ngõ ra của PWM2 SCK In / Out Xung clock cho SPI. Chế độ Master: out / Chế độ Slave: in SDI Input Dữ liệu ngõ vào SPI SDO Output Dữ liệu ngõ ra SPI SS Input Tín hiệu Slave Select cho SPI INT0 Input Ngắt ngoài 0 INT1 Input Ngắt ngoài 1 INT2 Input Ngắt ngoài 2 INT3 Input Ngắt ngoài 3 SCL In / Out Xung clock nối tiếp cho I2C SDA In / Out Dữ liệu nối tiếp cho I2C CC In / Out Chân cho Capture/Compare Chế độ Capture: input Chế độ Compare: output T1CLK Input Clock ngoài dùng cho Timer 1 VIN1 Input Ngõ vào kênh 1 cho ADC VIN2 Input Ngõ vào kênh 2 cho ADC VIN3 Input Ngõ vào kênh 3 cho ADC VIN4 Input Ngõ vào kênh 4 cho ADC VREF Input Điện áp chuẩn cho ADC CAP Input Chân nối tụ điện © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 15
  16. Giới thiệu 1.2. Sơ đồ khối Vi điều khiển SG8V1 bao gồm phần lõi vi xử lý 8-bit và các ngoại vi xung quanh. Các ngoại vi bao gồm: IO Port (GPIO), Watchdog Timer (WDT), Timer0 (TMR0), ADC, Timer1 (TMR1), Timer2 (TMR2), Timer3 (TMR3), PWM1, PWM2, SPI, I2C, UART1, UART2, UART3. Bộ nhớ chương trình 64Kx16 được thực hiện bằng Flash. Một module điều khiển việc lập trình cho Flash được tích hợp bên trong. SG8V1 GPIO TMR1 WDT TMR0 ADC PORTs TMR2 TMR3 Microprocessor Core SG8V1 Flash 64kx16 PWM1 PWM2 Serial UART1 UART2 UART3 I2C Flash SPI Programming Controller Hình 1-2: Sơ đồ khối của SG8V1 © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 16
  17. Kiến trúc pipeline 2. Kiến trúc pipeline 2.1. Các bước thực hiện lệnh Về cơ bản, mỗi một lệnh đơn được chia ra làm 3 bước để thực hiện: FETCH, DECODE, and EXECUTE (). Mỗi bước kéo dài một chu kỳ xung clock. Như vậy, mỗi lệnh đơn sẽ được thực hiện trong 3 chu kỳ xung clock. Nhận lệnh từ bộ Chu kỳ xung clock 1 FETCH nhớ chương trình Chu kỳ xung clock 2 DECODE Giải mã lệnh Chu kỳ xung clock 3 EXECUTE Thực hiện lệnh Hình 2-1: Các bước thực hiện lệnh FETCH: Nhận lệnh từ bộ nhớ chương trình Flash. DECODE: Giải mã lệnh vừa nhận được ở tầng FETCH. EXECUTE: Thực hiện các công việc tính toán và ghi kết quả vào đích đến (thanh ghi, bộ nhớ dữ liệu) 2.2. Kiến trúc pipeline 3 tầng Kiến trúc pipeline 3 tầng được thực hiện nhằm cải thiện tốc độ hoạt động của SG8V1. Theo đó, 3 bước khác nhau của 3 lệnh liên tiếp sẽ được thực hiện đồng thời. Điều này làm tốc độ hoạt động của SG8V1 tăng gấp 3 lần. Nghĩa là, mặc dù mỗi lệnh đơn được thực hiện trong 3 chu kỳ xung clock, nhưng tính trung bình, thời gian để thực hiện chỉ là 1 chu kỳ xung clock. (xem Hình 2-2 và Hình 2-3) © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 17
  18. Kiến trúc pipeline Chu kỳ 1 2 3 4 5 6 Lệnh 1 F D E FETCH DECODE EXECUTE F D E Lệnh 2 FETCH DECODE EXECUTE Hình 2-2: Hoạt động thực hiện lệnh với kiến trúc không có pipeline Chu kỳ 1 2 3 4 5 Lệnh 1 F D E Lệnh 2 F D E Lệnh 3 F D E Hình 2-3: Thực hiện lệnh với kiến trúc có pipeline 2.3. Cách tính số chu kỳ thực hiện lệnh Trung bình các lệnh thường được thực hiện trong 1 chu kỳ xung clock, như được thể hiện ở Hình 2-4. Chu kỳ 1 2 3 4 5 6 Lệnh 1 F D E Lệnh 2 F D E Lệnh 3 F D E Lệnh 4 F D E Hình 2-4: Thực hiện lệnh thường với kiến trúc đường ống © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 18
  19. Kiến trúc pipeline Đối với các lệnh bypass, trình tự thực hiện lệnh sẽ được thực hiện như Hình 2-5. Theo đó, trung bình mỗi lệnh bypass sẽ được thực hiện trong 2 chu kỳ xung clock. Chu kỳ 1 2 3 4 5 6 Lệnh 1: Lệnh Bypass F D E Lệnh 2: Lệnh bị bypass F D Lệnh này không được thực hiện Lệnh 3 F D E Lệnh 4 F D E Hình 2-5: Thực hiện lệnh bypass với kiến trúc đường ống Đối với các lệnh rẽ nhánh đơn chu kỳ, trình tự thực hiện lệnh được thể hiện như Hình 2-6. Theo đó, trung bình mỗi lệnh rẽ nhánh đơn chu kỳ sẽ được thực hiện trong 2 chu kỳ xung clock. Chu kỳ 1 2 3 4 5 6 Lệnh 1: Lệnh rẽ nhánh F D E Lệnh 2 F Lệnh này sẽ không được thực hiện Lệnh 3: Lệnh mới ở địa chỉ nhảy tới F D E F D E Hình 2-6: Thực hiện lệnh rẽ nhánh đơn chu kỳ với kiến trúc đường ống Đối với lệnh rẽ nhánh 2 chu kỳ (lệnh nhảy dài), trình tự thực hiện lệnh được thể hiện như Hình 2- 7. Theo đó, trung bình mỗi lệnh rẽ nhánh 2 chu kỳ sẽ được thực hiện trong 3 chu kỳ xung clock. © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 19
  20. Kiến trúc pipeline Chu kỳ 1 2 3 4 5 6 7 Lệnh 1 (chu kỳ 1): Lệnh rẽ nhánh 2 chu kỳ F D E Lệnh 1 (chu kỳ 2): Lệnh rẽ nhánh 2 chu kỳ F D E Lệnh này không được Lệnh 2 F thực hiện Lệnh 3: Lệnh mới ở địa chỉ nhảy tới F D E Lệnh 4 F D E Hình 2-7: Thực hiện lệnh rẽ nhánh 2 chu kỳ với kiến trúc đường ống © 2012 ICDREC SG8V1 – Hướng dẫn sử dụng 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1