Chế độ đảo bit địa chỉ

Một phần của tài liệu ứng dụng hệ thống định vị gps giám sát hành trình (đính kèm tệp) (Trang 57 - 66)

2.3. Cấu trúc của vi điều khiển DSPIC 30F4011

2.3.2. Khối tạo địa chỉ AGU

2.3.2.2. Chế độ đảo bit địa chỉ

Địa chỉ được đảo bit nhằm làm đơn giản hoá dữ liệu cho thuật toán FFT cơ số 2.

Nó được hỗ trợ bởi khối AGU của X chỉ cho việc ghi dữ liệu.

Thực hiện đảo bit địa chỉ

Đảo bít địa chỉ được bật khi các điều kiện sau được thoả mãn :

 Các bit BWM (lựa chọn thanh ghi W) trong thanh ghi MODCON ở giá trị lớn hơn 15 (không thể truy cập ngăn xếp khi đang sử dụng chế độ đảo bit địa chỉ).

 Bit BREN được đặt trong thanh ghi XBREV

 Chế độ địa chỉ được sử dụng là chế độ thanh ghi gián tiếp nếu độ dài bộ đệm của các bit được đảo là M = 2N bytes, N bit cuối cùng của bộ đệm dữ liệu bắt đầu được định địa chỉ bằng không.

Các bit XB <từ bit 14 đến 0 của thanh ghi XBREV> là địa chỉ bit được đảo, hay còn gọi là “điểm xoay” (pivot point) thường là hằng số.

Hình 2.3. Một ví dụ về đảo bit địa chỉ

2.3.3. Các cổng I/O Port

Các cổng vào ra của dspic 30f4011 đều có thiết kế có đầu vào là mạch Trigger Schmitt nhằm cải tiến khả năng chống nhiễu. Tất cả các cổng vào ra đều có ba thanh ghi kết hợp với nhau điều khiển trực tiếp hoạt động của các cổng :

 Thanh ghi dữ liệu trực tiếp (TRISx) xác định cổng đó là Input hay Output. Nếu bit dữ liệu trực tiếp là ‘1’, thì cổng đó là Input và ngược lại. Các cổng được định nghĩa là Input sau khi Reset.

 Thanh ghi cổng (PORT registers) : Dữ liệu ở một cổng I/O được truy xuất thông qua thanh ghi PORTx. Đọc giá trị của thanh ghi PORT cổng nào sẽ có được giá

trị của cổng đó. Ghi vào thanh ghi PORT của cổng tương đương việc xuất dữ liệu ra cổng đó.

 Thanh ghi LAT, kết hợp với một cổng I/O sẽ loại bỏ được các vấn đề có thể xuất hiện khi đọc - thay đổi - ghi vào cổng đó. Đọc giá trị thanh ghi LAT sẽ trả về giá trị được giữ ở đầu ra của bộ chốt cổng đó, thay cho giá trị ở cổng I/O.

Việc ghi vào thanh ghiLATx cũng tạo ra hiệu quả như ghi vào thanh ghi PORTx.

Cấu hình tương tự cho cổng : Khi sử dụng bộ ADC thì cổng được cấu hình là lối vào tương tự. Điều này sẽ được nói kĩ hơn ở phần miêu tả ADC.

Hình 2.4. Các cổng I/O của dsPic30F4011

Hình 2.5. Sơ đồ khối của một cổng I/O dùng chung với ngoại vi khác

2.3.4. Ngắt và cơ chế ngắt

Vi điều khiển dsPic30F4011 có tới 30 nguồn ngắt và 4 bộ xử lý loại trừ (bẫy lỗi), bộ xử lý này sẽ cho phép các ngắt theo mức ưu tiên được sắp đặt trước.

CPU có thể đọc bảng vector ngắt và truyền địa chỉ được chứa trong vector ngắt tới bộ đếm chương trình.Vector ngắt được truyền từ bus dữ liệu chương trình vào trong bộ đếm chương trình thông qua bộ hợp kênh 24-bit, lốivào của bộ đếm chương trình.

Bảng vector ngắt (InterruptVector Table - IVT) và bảng vector ngắt thay thế (AlternateInterruptVector Table - AIVT) được đặt gần điểm bắt đầu bộ nhớ chương trình(0x000004). IVT và AIVT. Các thanh ghi điều khiển ngắt và ưu tiên ngắt :

 Các thanh ghi 16-bit IFS0<15:0>,IFS1<15:0>, IFS2<15:0> : Tất cả các cờ ngắt được lưu trong 3 thanh ghi này. Các cờ được đặt tương ứng bởi của ngoại vi hoặc tín hiệu bên ngoài và có thể xoá bằng phần mềm.

 Các thanh ghi 16-bit : IEC0<15:0>, IEC1<15:0>, IEC2<15:0> : Tất cả các bit điều khiển cho phép ngắt đều nằm trong 3 thanh ghi này. Các bit này được sử dụng để cho phép ngắt độc lập ngoại vi và tín hiệu ngoài

 Các thanh ghi ưu tiên ngắt : IPC0<15:0> ... IPC10<7:0> : Người sử dụng có thể chuyển đổi mức ưu tiên ngắt kết hợp với mỗi ngắt được giữ trong các thanh ghi này.

 Nhóm bit IPL<3:0> : Mức độ ưu tiên của CPU hiện hành được lưu rõ ràng trong các bit này. Bit IPL<3> nằm trong thanh ghi CORCON, trong khi đó các bit IPL<2:0> nằm trong thanh ghi trạng thái (SR)

 Hai thanh ghi 16-bit INTCON1<15:0>, INTCON2<15:0> : Chức năng điều khiển ngắt toàn cục được xuất phát từ hai thanh ghi này. INTCON1 chứa các cờ điều khiển và trạng thái của bộ xử lý loại trừ. INTCON2 điều khiển tín hiệu yêu cầu ngắt và việc bảng vector ngắt thay thế.

Các nguồn ngắt có thể được người sử dụng sắp xếp mức ưu tiên từ 1 đến 7 thông qua thanh ghi IPCx. Mỗi nguồn ngắt được kết hợp với một vector ngắt.

Hình 2.6. Các vector bẫy lỗi 2.3.5. Các bộ định thời

Trong vi xử lý dsPIC 30F4011 có tới năm bộ định thời (Timer) 16-bit. Trong đó các Timer có thể hoạt động riêng biệt, riêng hai Timer 2, 3 và hai Timer 4, 5 có thể kết hợp với nhau để trở thành một Timer 32 bit.

Về cấu trúc các Timer này khác nhau vì hai Timer 2 và 3 và hai Timer 4 và 5 có thể kết hợp còn Timer 1 thì không. Timer 1 có cấu trúc kiểu A (Hình 2.10), Timer 2,4

kiểu B và Timer 3,5 kiểu C. Về hoạt động các Timer có hoạt động gần giống nhau do đó ta sẽ tìm hiểu về Timer 1, các Timer còn lại là tương tự.

Timer 1 có thể hoạt động với nguồn tạo dao động tần số thấp 32KHz, và chế độ không đồng bộ với nguồn tạo dao động ngoài. Đặc điểm riêng biệt của Timer 1 đó là có thể dùng trong các ứng dụng thời gian thực.

Phần tiếp theo sẽ mô tả chi tiết cách thiết lập và sử dụng Timer 1 với ba chế độ :

 Timer 16-bit : Trong chế độ này, timer sẽ tăng sau mỗi chu kỳ lệnh đến khi giá trị của timer bằng giá trị của thanh ghi chu kỳ PR1 (Period Register) thì sẽ reset về ‘0’ và tiếp tục đếm.

 Counter đồng bộ 16-bit : Trong chế độ này, timer sẽ tăng ở mỗi sườn lên của của xung nhịp ngoài mà được đồng bộ với pha của các xung nhịp trong. Timer tăng đến giá trị nằm trong thanh ghi PR1 thì dừng và reset timer về ‘0’ rồi tiếp tục đếm lên.

 Counter không đồng bộ 16-bit : Khi hoạt động trong chế độ này, timer sẽ tăng dần sau mỗi sườn lên của xung nhịp bên ngoài tác động vào. Timer sẽ tăng dần đến khi giá trị của nó bằng thanh ghi PR1 thì bị reset về ‘0’ rồi lại tiếp tục đếm lên.

Hệ số chia tần của bộ định thời

Xung nhịp đầu vào (Fosc/4 hoặc xung nhịp ngoài) đưa vào Timer 16-bit và có thể được chia tần số theo các tỉ lệ sau : 1:1, 1:8, 1:64, 1:256 được xác định bởi các bit TCKPS<1:0> của thanh ghi TxCON. Hệ số chia tần này (prescaler) có thể bị xoá khi xảy ra một trong các điều kiện sau :

 Ghi vào TMR.

 Ghi vào thanh ghi TxCON (trừ việc ghi vào bit TxCON) Reset thiết bị, như POR và BOR DsPic30F4011 có 5 thanh ghi điều khiển Timer T1CON..T5CON.

Các thanh ghi này được chia ra làm 2 kiều. T1CON thuộc kiểu A, T2CON và T4CON thuộc kiểu B, T3CON và T5CON thuộc kiểu C.

Hình 2.7. Sơ đồ khối của Timer 1

Hình 2.8. Sơ đồ khối Timer 2

Hình 2.9. Sơ đồ khối Timer 3

Hình 2.10.Sơ đồ khối Timer 2/3 - 32bit

Một phần của tài liệu ứng dụng hệ thống định vị gps giám sát hành trình (đính kèm tệp) (Trang 57 - 66)

Tải bản đầy đủ (PDF)

(88 trang)