Wednesday, June 3, 2015

SoC - System on Chip


Nhắc đến phần cứng của hệ thống nhúng thì khái niệm đầu tiên thường hay được nói đến là Soc. Soc bao gồm hầu hết các thành phần cấu thành nên một máy tính nằm trên một mạch tích hợp. Các thành phần của SoC thường bao gồm:

+ CPU (Vi xử lý / Vi điều khiển): Phổ biến nhất là các chip theo kiến trúc ARM, MIPS, PowerPC, ...

+ GPU (Xử lý đồ họa 2D/3D): Các framework xử lý đồ họa như OpenGL/ES cần có GPU mới có thể hoạt động được. Một số GPU thường được dùng trong hệ thống nhúng là Vivante, VideoCore, ...

+ DSP: Xử lý tín hiệu số

+ Memory: ROM, RAM, EEPROM, Flash

+ Peripheral:
    - Ethernet
    - UART
    - SPI
    - I2C
    - Timer
    - Interrupt Controller
    - DMA Controller
    - PCM
    - GPIO
    - USB
    - PWM
    - CAN
    - ADC
    - ...

Ví dụ mô tả Soc dùng cho Raspberry Pi tại đây.

Đối với các development board người ta thường thiết kế theo kiểu module, tức là sẽ tạo ra một bản ROM bao gồm một con Soc và các bus hệ thống được kết nối sẵn với các pin bên ngoài, sau đó sẽ đặt bản ROM này lên một bản mạch có sẵn các thiết bị ngoại vi như LCD, Button, cổng uart, ethernet, usb, ... Khi cần thiết người ta có thể dễ dàng thay đổi các bản ROM khác nhau để phù hợp với yêu cầu, ví dụ như khi muốn nâng cấp GPU chẳng hạn, chỉ cần tháo ROM đang dùng ra và thay bằng ROM khác có GPU mạnh hơn mà không cần phải bỏ đi tất cả để thay bằng một development board khác


Một bản ROM (màu đỏ) sẽ được gắn vào board thông qua một socket (màu vàng)


Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -