Cảm biến nhiệt độ nội

Một phần của tài liệu Luận văn tổng quan kiến trúc ARM (Trang 78 - 92)

Các cảm biến nhiệt độ phục vụ hai mục đích chính: 1) để thông báo cho các hệ thống nội bộ nhiệt độ quá cao hay thấp cho các hoạt động đáng tin cậy, và 2) để cung cấp các phép đo nhiệt độ để hiệu chỉnh giá trị module Hibernate trim RTC.

Các cảm biến nhiệt độ không có sự cho phép tách rời, vì nó cũng có tham chiếubandgap và luôn luôn phải được cho phép. Tham chiếu là cung cấp cho các module tương tự khác , không chỉ là ADC ..

Các cảm biến nhiệt độ bên cung cấp một nhiệt độ tương tự đọc cũng như điện áp tham chiếu. Điện áp tại đầu ra thiết bị đầu cuối SENSO được cho bởi phương trình sau đây:

Quan hệ này thể hiện ở hình 7-5.

Hình 7-5 Đặc tính cảm biến nhiệt nội.

7.3 Khởi tạo và cấu hình.

Để cho các module ADC được sử dụng, các PLL phải được kích hoạt và sử dụng một tần số thạch anh được hỗ trợ (xem tahnh ghi RCC). Sử dụng tần số hoạt động không được hỗ trợ có thể gây ra lỗi trong module ADC.

7.3.1 Khởi tạo module.

Khởi tạo của module ADC là một quá trình đơn giản với một vài bước. Các bước chính bao gồm thiết lập đồng hồ ADC và cấu hình lại các ưu tiên sắp xếp dãy mẫu (nếu cần).

1. Kích hoạt tính năng đồng hồ ADC bằng cách viết một giá trị của 0x0001.0000 đến thanh ghi RCGC0.

2. Nếu ứng dụng yêu cầu, cấu hình lại các mức ưu tiên sắp xếp dãy mẫu trong thanh ghi ADCSSPRI. Cấu hình mặc định có mẫu Sequencer 0 với những ưu tiên cao nhất,và mẫu Sequencer 3 như ưu tiên thấp nhất.

7.3.2 Cấu hình bộ sắp xếp dãy mẫu.

Cấu hình của bộ sắp xếp mẫu phức tạp hơn việc khởi tạo module vì mỗi dãy mẫu hoàn toàn có thể lập trình.

Các cấu hình cho mỗi chuỗi mẫu sẽ được như sau:

1. Đảm bảo rằng các chuỗi mẫu bị vô hiệu hóa bằng cách viết một từ 0 đến các bit ASENn tương ứng trong thanh ghi ADCACTSS. Lập trình của sắp xếpmẫu được cho phép mà không cần phải kích hoạt chúng. Vô hiệu hóa các chuỗi trong các chương trình ngăn ngừa thực hiện có sai sót nếu một sự kiện kích hoạt đã xảy ra trong quá trình cấu hình.

2. Cấu hình cho trigger cho các chuỗi mẫu trong thanh ghi ADCEMUX . 3. Đối với mỗi mẫu trong chuỗi mẫu, cấu hình các nguồn đầu vào tương ứng trong thanh ghi ADCSSMUXn .

4. Đối với mỗi mẫu trong chuỗi mẫu, cấu hình các bit kiểm soát mẫu trong nibble tương ứng trong thanh ghi ADCSSCTLn. Khi lập trình các nibble mới nhất, đảm bảo rằng các bit END được thiết lập. Không để thiết lập các bit END gây ra hành vi không thể dự đoán trước.

5. Nếu ngắt được sử dụng, viết 1 vào bit MASK tương ứng trong thanh ghi ADCIM.

6. Kích hoạt tính năng sắp xếp mẫu logic bằng cách viết một 1 vào bit ASENn tương ứng trong thanh ghi ADCACTSS.

7.4 Bản đồ thanh ghi.

Bảng 7.1 là danh sách các thanh ghi ADC. Cột offset được liệt kê tăng dần theo hệ số thập lục phân chỉ địa chỉ của thanh ghi, liên quan đến địa chỉ cơ sở ADC 0x4003.8000.

Lưu ý rằng module đồng hồ ADC phải được cho phép trước khi lập trình thanh ghi. Đây là một sự chậm trễ của 3 hệ thống đồng hồ sau khi đồng hồ module ADC được kích hoạt trước bất kỳ module thanh ghi ADC được truy cập.

Chƣơng VIII: UARTs

Mỗi UART Stellaris có những đặc điểm sau:

Có hai loại có thể lập trình đầy đủ 16C550 UARTs với trước giúp IrDA 16*8 phát và nhận riêng biệt FIFOs.

Tốc độ Baud cho phép lên tới 3.125Mbps.

Chiều dài của khả trình bao gồm 1 byte vận hành sâu cung cấp giao diện đệm đôi tiêu chuẩn.

Các mức trigger FIFO 1/8,1/4,3/4,7/8.

Các bit giao tiếp không đồng bộ tiêu chuẩn cho start, stop và parity. Phát và dò “line –break”.

Đặc tính chuỗi giao diện khả trình. 5,6,7 hoặc 8 dữ liệu bit.

Bit phát/dò Even, odd, stick hoặc no-parity. Phát 1 hoặc 2 bit stop.

Chuỗi IrDA-giải mã/mã hóa IR cung cấp.

Thiết bị khả trình sử dụng IrDA SIR hoặc vào /ra UART.

Trợ giúp giải mã/mã hóa IrDA SIR cho các dữ liệu lên tới 115.2Kdps bán song công.

Trợ giúp chuẩn 3/16 và khoảng thời gian bit low-power(1.41-2.23µs) Bộ phát xung trong có thể phân chia theo bởi 1 tói 255 cho chế độ Low- power…..

8.1 Sơ đồ khối.

Hình 8-1 Sơ đồ khối UARTs.

8.2 Mô tả chức năng.

Mỗi chức năng sử dụng Stellaris UART của biến đổi song song sang nối tiếp và nối tiếp sang song song.

Nó tương tự trong chức năng tới 16c550 UART, nhưng không được ghi thích hợp.

UART được cấu hình cho phát và/hoặc nhận thông qua bit TXE và RXE của thanh ghi UART control(UARTCTL). Việc nhận và phát đều có thể reset.

Trước bất kỳ thanh ghi nào đều được lập trình, UART phải bị ngắt bởi xóa bit UARTEN trong UARTCTL. Nếu UART bị ngắt trong quá trình vận hành TX hoặc RX, việc chuyển dòng được ưu tiên hoàn thành để stop UART

8.2.1 Logic nhận/phát.

Logic sử dụng phát của bộ chuyển song song sang nối tiếp trên dữ liệu đọc từ bộ phát FIFO. Đầu ra điều khiển chuỗi bit nối tiếp bắt đầu với bit start và được theo bởi các dữ liệu bit (LSBfirst), bit chẵn lẻ, và bit stop theo cấu hình chương trình trong thanh ghi điều khiển.

8.2.2 Tốc độ baud.

Bộ chia tốc độ buad là 1 số 22 bit gồm 16 bit nguyên và 6 bit phân số. Các số được hình thành bởi 2 giá trị được sử dụng bởi bộ phát tốc đọ baud để xác định bit giới hạn. Việc có bộ chia tốc độ baud phân số cho phép UART phát tất cả các tốc độ buad tiêu chuẩn.

16 bit nguyên được tải qua thanh ghi UART integer Baud-Rate Divisor (UARRTIBRD). Bộ chia tốc độ baud có mối quan hệ tới hệ thống clock (nơi BRDI là nguyên của BRD và NRDF là phân số).

BRD=BRDI+BRDF=UARTSysClk/(16*baud rate) UARTSusClk là hệ thống clock được nối với UART.

6 bit phân số có thể được tính toán bằng việc mang phân số bộ chia tốc độ baud nhân với 64 và cộng 0.5 tới phép tính cho lỗi rounding

UARTFBRD[DIVFRAC]=integer (BRDF*64+0.5)

Cùng thanh ghi UART line control, high byte (UARTLCRH), dạng thanh ghi UARTIBRD và UARTFBRD 1 thanh ghi 30 bit nội. Thanh ghi nội này chỉ được cập nhật khi 1 sự vận hành write được thực hiện, vì vậy bất kỳ thay đổi nào tới bộ chia tốc độ baud phải write tới thanh ghi UARTLCRH để thay đổi các ảnh hưởng.

Thanh ghi cập nhật tốc độ baud, có 4 trình tự có thể:

- UARTIBRD write, UARTFBRD write, và UARTLCRH write - UARTFBRD write, UARTIBRD write, và UARTLCRH write - UARTIBRD write, và UARTLCRH write

- UARTFBRD write và UARTLCRH write

8.2.3 Dữ liệu bộ phát.

Các dữ liệu nhận hoặc phát được lưu trữ trong 2 FIFOs 16 byte, qua nhận FIFO có 4 bit trên 1 ký tự cho các trạng thái thông tin. Để phát, các dữ liệu được viết trên FIFO.Nếu UART cho phép, các khung dữ liệu bắt đầu phát với các thông

số ở thanh ghi UARTLCRH. Các dữ liệu tiếp tục được phát cho đến khi không còn dữ liệu trên FIFO. Bit BUZY của thanh ghi UART Flags được xác nhận ngay khi các dữ liệu được ghi trên FIFO. Và được duy trì trong khi các dữ liệu được phát. Bit BUSY về 0 khi FIFO trống và các ký tự cuối cùng được phát từ thanh ghi dịch bao gồm cả bit stop. UART có thể chi ra rằng nó rất bận mặc dù UART không còn được cho phép

Khi bộ nhận không làm gì và các dữ liệu vào ở LOW, các bộ đếm nhận bắt đầu chạy và các dữ liệu được lấy mẫu trong chu ky thứ 8 của Baud16

Bit start được bật và nhận dạng nếu UnRx vẫn ở LOW trong chu kỳ 8 baud16, nếu không nó được bỏ qua. Sau khi bit start được bật các bit dữ liệu liên tiếp được lấy mẫu trong mỗi 16th cycle của baud 16 theo chiều dài lập trình của các ký tự dữ liệu. Bit parity sẽ được kiểm tra nếu bit parity được bật. chiều dài của các bit dữ liệu và parity được xác định trên thanh ghi UARTLCRH.

- Bit stop sẽ được xác nhận UnRx ở mức cao nếu không có khung lỗi xảy ra. Khi tất cả word được nhận các dữ liệu được lưu trữ bộ nhận FIFO với bất kỳ lỗi nào liên quan tới từ đó.

8.2.4 SIR

Thiết bị ngoại vi UART bao gồm 1 khối giải mã và mã hóa IrDA SIR, Khối này cung cấp chức năng chuyển đổi 1 dòng UART không đồng bộ và giao diện bán song công SIR. Không có tin tín hiệu tương tự được xử lý trong chip. Vai trò của khối này là cung cấp đầu ra mã hóa số và đầu vào giải mã tới UART. Chân tín hiệu UART có thể được kết nối 1 bộ thu phát hồng ngoại để thi hành 1 Link vật lý IrDA SIR.

Khối này có hai chế độ hoạt động:

- Chế độ bình thường IrDA : mức logic 0 được phát High trong 3/16th của bit tốc độ buad được chọn trên đầu ra. Trong khi một logic được phát như tín hiệu thấp “Low”.. Các mẫu điều khiện sẽ điều khiển các bộ phát hồng ngoại gửi do 1 xung của mẫu zero. …………

- Chế độ low-power IrDA: với độ rộng của xung hồng ngoại được phát được 3 lần trong giới hạn của tín hiệu phát nội IrLPBaud16 bằng cách thay đổi các bit phù hợp trong thanh ghi UARTCR.

Trong cả 2 chế độ trên :

+ Trong suốt quá trình gửi, bit UART được sử dụng căn bản cho mã hóa . + Trong quá trình nhận, bit mã hóa hóa được chuyển tới logic nhận của UART.

8.2.5 Hoạt động FIFO.

UART có 16 FIFO trống. 1 cho phát và 1 cho nhận. Tất cả các FIFO này được truy cao thông qua thanh ghi dữ liệu UART.

Khi nhấn reset tất cả FIFO đều bị ngắt kết nối và thực hiện như 1 thanh ghi giữ 1 byte-deep. FIFO được cho phép bằng việc set bit FEN của UARTLCRH.

Trạng thái của FIFOs có thể được giám sát thông qua thanh ghi UART flag và thanh ghi UART recive status. giám sát phần cứng trống, đầy, tràn. Thanh ghi UARTFR bao gồm các cờ trống và full(TXFE,TXFF,RXFE,RXFF) và thanh ghi UARTSRS cho biết trạng thái tràn thông qua bit OE.

Điểm kích hoạt tải nối FIFO hoạt động ngắt được điều khiển thông qua thanh ghi UART interrupt FIFO level select UARTIFLS. Tất cả các UART đều được kích hoạt 1 cách riêng lẻ để kích hoạt ngắt ở những mục khác nhau.

8.2.6 Ngắt

UART ngắt trong các điều kiện sau:

Tất cả các sự kiện ngắt đều Ored trước khi gửi đến bộ điều khiển ngắt vì vậy UART chỉ có thể thực hiện ngắt 1 yêu cầu ngắt đơn lẻ tới bộ điều khiển tại bất kỳ thời gian nào. Phần mềm có thể cung cấp dịch vụ đa ngắt trong 1 chương trình con ngắt bằng việc đọc thanh ghi (UARTIMS).

Các sự kiện ngắt có thể kích hoạt mức bộ điều khiển ngắt được xác định bằng thanh ghi UARTIM bằng việc set bit IM tương ứng =1.

Nếu như ngắt không được sử dụng trạng thái ngắt thô luôn luôn đươc hiện lên thông qua thanh ghi UART raw interrupt status.

Ngắt luôn luôn được xóa bởi việc set bit tương ứng trong thanh ghi UART interrupt lear(UARTIC)

8.2.7 Hoạt động kiểm tra ngƣợc

UART có thể được chuyển tới chế độ lookback nội để chuẩn đoán và gỡ rối. Bằng việc set bit LBE trong thanh ghi UARTCTL. ở chế độ này các dữ liệu được truyền trong UnTx sẽ được nhận ở UnRx

8.2.8 Khối IrDA sir

Bao gồm giao thức mã hóa/giải mã IrDA serial IR. Khi được kích hoạt SIR sử dụng chân UnTx và UnRx cho giáo thức SIR nên được kết nối tới 1 bộ phát IR.

Khối SIR có thể nhận và phát nhưng chỉ bán song công vi vậy không thể thực hiện cả 2 trong cùng 1 thời gian.Việc phát bắt buộc phải dừng trước khi nhận dữ liệu. Tối thiểu trễ 10ms giữa nhận và phát.

8.3 Khởi tạo và cấu hình.

Để sử dụng UARTs các xung ngoài phải được kích hoạt bằng việc set bit UART0 và UART 1 trong thanh ghi RCGC1.

Ví dụ xung UART được giả định tới 20Mhz và cấu hình UART là: - Tốc độ baud: 115200.

- Dữ liệu: 8bit. - 1 bit stop.

- Không kiểm tra chẵn lẻ. - FIFOs không được phép. - Không ngắt.

Việc đầu tiên cần xem xét là khi lập trình UART là baud rate divisor(BRD), thanh ghi UARTIBRD và UARTFBRD phải được ghi trước thanh ghi UARRTLCRH.

BRD có thể được tính theo công thức sau: BRD = 20 000 000/(16*115200)

Điều này có nghĩa rằng DIVINT của thanh ghi UARTIBRD nên set =10. Giá trị của nó được tại tới thanh ghi UARTFBRD được tính theo công thức sau:

UARTFBRD[DIVFRAC]=integer(0.8507*64+0.5)

Với giá trị BRD bằng tay UART cấu hình được ghi tới module theo các yêu cầu: o Ngắt UART bằng việc xóa bit UARTEN trong thanh ghi UARTCTL

o Viết phần nguyên của BRD vào thanh ghi UARTIBRD o Viết phần thập phân của BRD vào thanh ghi UARTFBRD o Viết các thông số mong muốn vào thanh ghi UARTLCRH

o Cho phép UART bằng việc set bit UARTEN của thanh ghi UARTCTL.

Chương IV: Một số hình ảnh LM3S8962

Kết uận

Nghiên cứu này ban đầu đã cho thấy được kết quả khả quan, tạo tiền đề cho phát triển các ứng dụng với ARM Cortex M3. Để phát triển đề tài này, chúng tôi xin đưa ra một số ưu nhược điểm như sau:

Ưu, nhược điểm:

Ưu điểm

Giá thành chip rẻ so với các dòng chip khác với cùng số tài nguyện như ARM.

Tốc độ xử lý cao, ổn định. Tiết kiệm năng lượng

Số lượng tài nguyên lớn, phù hợp với nhiều ứng dụng khác nhau  Nhược điểm

Nhiều thanh ghi, câu lệnh khá dài, gây khó nhớ cho người dùng, dễ nhầm lẫn.

Thị trường ARM ở Việt Nam chưa rộng, gây khó trong việc tìm kiếm tài liệu và khó khăn trong việc đặt mua chip, do vậy việc nghiên cứu chưa được sâu

Hướng phát triển:

Đặt mua KIT từ TI tạo điều kiện nghiên cứu thực tế trên module.

Tạo các module thực tế để tạo điều kiện thuận lợi cho sinh viên nghiên cứu, thực hành với các ứng dụng thực tế, dễ hình dung.

Tài iệu tham khảo

1. Datasheet Stellaris® LM3S8962 Microcontroller - Copyright © 2007-2011 Texas Instruments Incorporated

Một phần của tài liệu Luận văn tổng quan kiến trúc ARM (Trang 78 - 92)

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

(92 trang)