Nguyên lý kết nối 1 Master và 1 Slave sử dụng SPI

Một phần của tài liệu Bài giảng Hệ thống nhúng 2010 (Trang 40)

Hình 17 chỉ ra nguyên lý kết nối giữa một đơn vị Chủ và một đơn vị Tớ trong truyền thơng SPI. Trong đó tín hiệu SCLK sẽ được tạo ra bởi đơn vị Chủ và là tín hiệu vào của đơn vị Tớ. MOSI là đường truyền dữ liệu ra từ đơn vị Chủ tới đơn vị Tớ và MISO là đường truyền dữ liệu vào đơn vị Chủ đến từ đơn vị Tớ. Đơn vị Tớ được lựa chọn khi đơn vị Chủ kích hoạt tín hiệu SS.

Nếu hệ thống có nhiều đơn vị tớ đơn vị Chủ sẽ tạo phải ra các tín hiệu tách biệt để chọn đơn vị Tớ. Cơ chế đó được thực hiện nhờ sơ đồ kết nối

ngun lý mơ tả như

trong Hình 18. Đơn

vị Chủ sẽ tạo ra tín

hiệu chọn đơn vị Tớ

nhờ các chân tín

Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Cơng nghiệp Thái ngun

thời gian để tránh trường hợp tín hiệu bị thay đổi trong q trình đang truyền dữ liệu. Một điều dễ nhận ra rằng SPI không hỗ trợ cơ chế xác nhận trong quá trình thực hiện truyền thơng. Điều này phụ thuộc vào giao thức định nghĩa hoặc phải thực hiện bổ sung thêm một số các mở rộng phụ bên ngồi. Khả năng truyền thơng đồng thời hai chiều với tốc độ lên đến khoảng vài Mbit/s và nguyên lý khá đơn giản nên SPI hoàn toàn phù hợp để thực hiện truyền thông giữa các thiết bị yêu cầu truyền thông tốc độ chậm, đặc biệt hiệu quả trong các ứng dụng một đơn vị Chủ và một đơn vị Tớ. Tuy nhiên trong các ứng dụng với nhiều đơn vị Tớ việc thực thi lại khá phức tạp vì thiếu cơ chế xác định địa chỉ, và sự phức tạp sẽ tăng lên khi số đơn vị Tớ tăng.

3.2. Một số nền phần cứng thông dụng

Hiện trên thị trường có rất nhiều nhà sản xuất phát triển nhiều loại chip VXL/VĐK nhúng khác nhau, mỗi loại đều có những tính năng và ưu việt riêng. Trong thực tế mỗi dòng chip ra đời được thiết kế chuyên biệt cho một phân khúc ứng dụng nào đấy, vì thế khơng có một ngun tắc chung hay một loại VXL/VĐK chung cho mọi bài toán. Tuỳ vào khả năng và nhiệm vụ cụ thể của hệ thống mà ta chọn lựa loại chip phù hợp. Trong một số bài toán và một số dịng chip thì sự phân biệt giữa các chip là khơng rõ dàng, nghĩa là có thể việc sử dụng các chip khác nhau nhưng mạng lại hiệu qua như nhau.

Ngoài vi xử lý của máy tính, ta có thể phân loại ra hai dòng chip nhúng là vi xử lý nhúng và vi điều khiển nhúng. Vi xử lý nhúng được sử dụng rộng rãi với thị phần lớn nhất hiện nay là ARM, cịn vi điều khiển thì có nhiều loại như AVR, PIC, 8051,... Tuy nhiên trong phạm vi bài giảng này chi trình bày tóm lược một số loại chip là PIC, 8051, ARM, …

3.3.1. Họ vi điều khiển 8051

Vi điều khiển 8051 là vi điều khiển 8bit được intel giới thiệu vào năm 1981, hiện nay họ 8051 được phát triển thành nhiều dịng với các đặc tính khác nhau về cấu hình, số các module tích hợp sẵn,…, một số dịng điển hình như 8052, 8031. Ngồi ra có rất nhiều hãng sãn xuất chip có kiến trúc tương thích với 8051 như Philip, Atmel,.. Tuy nhiên cấu trúc chung của một chip họ 8051 có thể được biểu thị như hình 20.

Hình 16: Cấu trúc tông quan của vi điều khiển họ 8051 của intel

Một số đặc tính chung của chip họ 8051:

- Dải điện áp hoạt động 4.0V đến 5.5V - Tần số hoạt động: 0 Hz to 33 MHz - 32 đường vào/ra lập trình được - Có thể mở rộng tối đa 64K ROM nội

- Có thể mở rộng tối đa 64K bộ nhớ dữ liệu ngồi - Có thể mở rộng tối đa 64K bộ nhớ lập trình ngồi - 128Byte RAM Nội

- Tích hợp sẵn cổng truyền thơng chuẩn RS232 - Tích hợp sẵn các bộ định thời Timer 8/16bit

3.3.2. Họ vi điều khiển AVR

AVR là một họ vi điều khiển do hãng Atmel sản xuất. AVR là chip vi điều khiển 8 bits với cấu trúc tập lệnh đơn giản hóa theo kiến trúc RISC(Reduced Instruction Set Computer), một kiểu cấu trúc đang thể hiện ưu thế trong các bộ xử lí.

So với các chip vi điều khiển 8 bits khác, AVR có nhiều đặc tính hơn hẳn, hơn

cả trong tính ứng dụng (dễ sử dụng) và đặc biệt là về chức năng:

- AVR tích hợp gần như đầy đủ các module chức năng thơng dụng. - Thiết bị lập trình (mạch nạp) cho AVR đơn giản

- Bên cạnh lập trình bằng ASM, cấu trúc AVR được thiết kế tương thích với ngơn ngữ C.

- Các tính năng chung của AVR:

o Có thể sử dụng xung clock lên đến 16MHz, hoặc sử dụng xung clock nội lên đến 8 MHz (sai số 3%)

o Bộ nhớ chương trình Flash có thể lập trình lại rất nhiều lần và dung lượng lớn, có SRAM (Ram tĩnh) lớn, và đặc biệt có bộ nhớ lưu trữ lập trình được EEPROM.

o 8 bits, 16 bits timer/counter tích hợp PWM.

o Các bộ chuyển đối Analog – Digital phân giải 10 bits, nhiều kênh.

o Chức năng Analog comparator.

o Giao diện nối tiếp USART (tương thích chuẩn nối tiếp RS-232).

o Giao diện nối tiếp Two –Wire –Serial (tương thích chuẩn I2C) Master và Slaver.

o Giao diện nối tiếp Serial Peripheral Interface (SPI)

o ...

Một số chip AVR thơng dụng:

• AT90S1200

• AT90S2313

• AT90S2323 and AT90S2343

• AT90S2333 and AT90S4433

• AT90S4414 and AT90S8515

• AT90S4434 and AT90S8535

• AT90C8534

• ATtiny10, ATtiny11 and ATtiny12

• ATtiny15 • ATtiny22 • ATtiny26 • ATtiny28 • ATmega8/8515/8535 • ATmega16 • ATmega161 • ATmega162 • ATmega163 • ATmega169 • ATmega32 • ATmega323 • ATmega103 • ATmega64/128/2560/2561 • AT86RF401. ....

3.3.3. Họ vi điều khiển PsoC

PSoC viết tắt từ Programmable System On Chip, nghĩa là hệ thống khả trình trên một chíp. Các chíp chế tạo theo cơng nghệ PSoC cho phép thay đổi được cấu hình bằng cách gán chức năng cho các khối tài ngun có sẵn trên chíp. PsoC là chip dựa trêm cơng nghệ CsoC(Configurable System on Chip - ) thực sự là một công nghệ ưu việt nó tích hợp cả Processor và bộ nhớ RAM, FLASH, cho phép ta lập trình các thuật tốn phức tạp một cách dễ dàng bằng ngôn ngữ C hoặc Assembler. So với các vi điều khiển thông dụng như 8051, Motorola 68HC908, Microchip PIC16Fxx có cấu trúc CPU và ngoại vi cố định (fixel digital and analog penpherals) thì chíp PSoC có khả năng mềm dẻo thích ứng với đa dạng ứng dụng và nhất là khả năng tái cấu hình (reconfigurable) tạo thành nhiều loại chip khác nhau trên một chip ở những thời điểm khác nhau trong một ứng dụng. Ví dụ chip PSoC của hãng Cypress Micro System, ta có thể thiết kế cho nó thành một chip điều khiển ổn định nhiệt độ lò, ổn định và điều khiển chiều quay, tốc độ quay của động cơ điện.

Công nghệ chế tạo chip thông minh trong đo lường và điều khiển trên cơ sở CSoC có tính hiệu quả kinh tế, nhất là đối với chip PSoC của Cypress Micro System vì có khả năng xử lý hỗn hợp dữ liệu tương tự và số. Nó cho ta khả năng phát triển các sản phẩm mới nhanh dễ dàng mở rộng những chức năng mới sau này. Công nghệ này cho nhiều giải pháp lựa chọn và hỗ trợ đa dạng ứng dụng từ đo lường, điều khiển, xử lý, truyền thông, kết nối mạng trên cùng một chip với giá thành thấp. Hệ thống phần mềm hỗ trợ thiết kế chip PSoC Disigner của Cypress Micro System có đầy đủ các chức năng thiết kế, sắp xếp các khối chức năng, mô phỏng, lập trình, tìm lỗi và nạp chíp hiện đại, có các module ứng dụng (user module) phong phú giúp ta khơng phải lập trình trên ngơn ngữ HDL (Hardware Description Languages) vừa khó bao quát, vừa khơng hiệu quả. Ngồi ra giá thành của các chíp PSoC trắng từ 1- 5 USD/ chip rẻ hơn rất nhiều so các chip ngoại khác. đây là một cơ hội cho các doanh nghiệp và các nhóm say mê nghiên cứu, sáng tạo có thể đạt đến thành cơng lớn với các sản phẩm độc đáo có các chip thơng minh chứa các ý tưởng sáng tạo và bí quyết riêng của mình. Trong số các hãng cung cấp cơng nghệ CSoC, thì cơng nghệ PSoC của hãng Cypress Micro System là phù hợp hơn cả cho đo lường và điều khiển do:

- Là cơng nghệ mới (được bình chọn là cơng nghệ sáng tạo năm 2001) của thế giới và được định hướng để phát triển các chip thông minh cho các thiết bị đo lường và điều khiển có số lượng lớn và giá thành thấp.

- Là chip đầu tiên trên thế giới cho phép tạo ra các chip có processor và khả năng xử lý đồng thời các tín hiệu tương tự, số và truyền thông phong phú nhất trong các cơng nghệ CSoC hiện có (Mix – Signal Divice). Các giải pháp Processo + FPGA của hãng altera hoặc Xilinx và các hãng khác chỉ có thể cho phép ta tạo ra các chip số có Processor(Digital IC) hoặc một số chức năng analog cố định.

thuật tốn xử lý nhanh các phép tính như của chip DSP (Digital Signal Processing).

- Đầu tư cho các công cụ phát triển, hệ thống phần mền thiết kế chip và các IP (Intellectual Properties) rẻ hơn nhiều so với các công cụ phát triển và phần mền thiết kế FPGA.

 Mộ số đặc tính PSoC CY8C29466

- Vi xử lý kiến trúc Harvard mạnh mẽ

- Tốc độ tối đa M8C lên đến 24 MHz

- Hai bộ nhân 8x8, 32bit tích lũy - Điện áp hoạt động 3V đến 5.25V - 12 khối tương tự:

 Chuyển đổi ADC lên đến 14-bit (ADCs)

 Chuyển đổi DAClên đến 9-bit (DACs)

 Bộ khuếch đại lập trình được (PGAs)

 Bộ so sánh là lọc lập trình được - 16 khối số:

 Timer/counter 8 đến 32-bit, và điều chế độ rộng xung (PWMs)

 Có các bộ kiểm tra lỗi CRC và PRS

 Lên đến 4 bộ truyền thông (UARTs)

 Nhiều bộ truyền thông SPI chủ và tớ

3.3.4. Họ vi điều khiển ARM

ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc vi xử lý 32-bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu.

Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới. CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trị chơi cầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn.) Một nhánh nổi tiếng của họ ARM là các vi xử lý Xscale của Intel.

Hình 17: Một vài sản phẩm cơng nghệ tiêu biểu ứng dụng bộ xử lý ARM

Các dạng lõi và tính năng của một số dịng ARM:

Họ Lõi Đặc tính Cache (I/D)/MMU MIPS điển hình @

MHz

ARM7TDMI ARM7TDMI(-S) 3-tầng pipeline không 15 MIPS @ 16.8 MHz

ARM710T MMU 36 MIPS @ 40 MHz

ARM720T 8KB unified, MMU 60 MIPS @ 59.8 MHz

ARM740T MPU

ARM7EJ-S Jazelle DBX không

ARM9TDMI ARM9TDMI 5-tầng pipeline không

ARM920T 16KB/16KB, MMU 200 MIPS @ 180 MHz

ARM922T 8KB/8KB, MMU

ARM940T 4KB/4KB, MPU

ARM9E ARM946E-S thay đổi được, tightly coupled memories, MPU

ARM966E-S khơng có cache, TCMs

ARM968E-S khơng có cache, TCMs

ARM926EJ-S Jazelle DBX thay đổi được, TCMs,

MMU

220 MIPS @ 200 MHz

processor MPU

ARM10E ARM1020E (VFP) 32KB/32KB, MMU

ARM1022E (VFP) 16KB/16KB, MMU

ARM1026EJ-S Jazelle DBX variable, MMU or MPU

ARM11 ARM1136J(F)-S SIMD, Jazelle DBX, (VFP)

variable, MMU ARM1156T2(F)-S SIMD, Thumb-2,

(VFP)

thay đổi được, MPU

ARM1176JZ(F)-S SIMD, Jazelle

DBX, (VFP)

thay đổi được, MMU+TrustZone

ARM11 MPCore 1-4 core SMP,

SIMD, Jazelle DBX, (VFP)

thay đổi được, MMU

Cortex Cortex-A8 Application profile, NEON, Jazelle RCT, Thumb-2 variable (L1+L2), MMU+TrustZone lên đến 2000 (2.0 DMIPS/MHz in speed from 600 MHz to greater than 1 GHz) Cortex-R4 Embedded profile

variable cache, MMU optional

600 DMIPS

Cortex-M3 Microcontroller

profile

no cache, (MPU) 120 DMIPS @

100MHz XScale 80200/IOP310 /IOP315 I/O Processor 80219 IOP321 IOP33x PXA210/PXA250 Applications processor

PXA255 32KB/32KB, MMU 400 BogoMips @400

MHz PXA26x PXA27x 800 MIPS @ 624 MHz PXA800(E)F Monahans 1000 MIPS @ 1.25 GHz PXA900

IXC1100 Control Plane

Processor IXP2400/IXP2800 IXP2850 IXP2325/IXP2350 IXP42x IXP460/IXP465  Các đặc tính thiết kế:

Để đạt được một thiết kế gọn, đơn giản và nhanh, các nhà thiết kế ARM xây dựng nó theo kiểu nối cứng khơng có vi chương trình, giống với bộ vi xử lý 8-bit 6502 đã từng được dùng trong các máy vi tính trước đó của hãng Acorn.

Cấu trúc ARM bao gồm các đặc tính của RISC như sau: - Cấu trúc nạp/lưu trữ.

- Không cho phép truy xuất bộ nhớ không thẳng hàng (bây giờ đã cho phép trong lõi Arm v6)

- Tập lệnh trực giao

- File thanh ghi lớn gồm 16 x 32-bit

- Chiều dài mã máy cố định là 32 bit để dễ giải mã và thực hiện pipeline, để đạt được điều này phải chấp nhận giảm mật độ mã máy.

- Hầu hết các lệnh đều thực hiện trong vòng một chu kỳ đơn.

So với các bộ vi xử lý cùng thời như Intel 80286 và Motorola 68020, trong ARM có một số tính chất khá độc đáo như sau:

- Hầu hết tất cả các lệnh đều cho phép thực thi có điều kiện, điều này làm giảm việc phải viết các tiêu đề rẽ nhánh cũng như bù cho việc khơng có một bộ dự đốn rẽ nhánh.

- Trong các lệnh số học, để chỉ ra điều kiện thực hiện, người lập trình chỉ cần sửa mã điều kiện

- Có một thanh ghi dịch đóng thùng 32-bit mà có thể sử dụng với chức năng hồn hảo với hầu hết các lệnh số học và việc tính tốn địa chỉ. - Có các kiểu định địa chỉ theo chỉ số rất mạnh

- Có hệ thống con thực hiện ngắt hai mức ưu tiên đơn giản nhưng rất nhanh, kèm theo cho phép chuyển từng nhóm thanh ghi.

3.3.5. Họ vi điều khiển PIC

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 Microelectronics 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à PIC1650. Lúc này, PIC1650 đượ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, và vì vậy PIC 8-bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600. PIC sử dụng microcode đơn giản đặt trong ROM, và mặc dù, cụm từ RISC chưa được sử dụng thời bây giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúc RISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động).

Năm 1985 General Instruments bán bộ phận vi điện tử của họ, và chủ sở hữu mới hủy bỏ hầu hết các dự án - lúc đó đã quá lỗi thời. Tuy nhiên PIC được bổ sung EEPROM để tạo thành 1 bộ điều khiển vào ra khả trình. Ngày nay rất nhiều dịng PIC được xuất xưởng với hàng loạt các module ngoại vi tích hợp sẵn (như USART, PWM, ADC...), với bộ nhớ chương trình từ 512 Word đến 32K Word.

Một phần của tài liệu Bài giảng Hệ thống nhúng 2010 (Trang 40)

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

(126 trang)
w