Kỹ thuật truyền thông EDMA (Enhanced Direct Memory Access)

Một phần của tài liệu nghiên cứu các quy trình thực hiện hệ thống xử lý trong miền thời gian thực trên bo mạch nhúng DSP (Trang 48)

EDMA là mô hình vào ra đặc thù của C6146 cho phép truyền đồng bộ và có thể kích hoạt bởi bất kì sự kiện nào đó( ví dụ như ngắt). Nó hoạt động độc lập với CPU, để làm việc với EDMA ta sử dụng các hàm API và các macro để thiết lập.

Đây là mô hình vào ra đặc thù của DSK 6416. Đó là sự kết hợp của cả phần cứng lẫn phần mềm. Về mặt phần cứng đó là bộ điều khiển EDMA. Về mặt phần mềm đó là việc điều phối giữa ngắt cứng EDMA và ngắt mềm xửjf lý

Các tính năng chuyên dụng của bộ điều khiển EDMA Controller là:  Multichannel Data bus CPU IO port Memory 1 EDMA Controller 2 3 1 Enable EDMA

2 EDMA Read data from IO

3 EDMA Write data to Memory

Đồ án tốt nghiệp đại học Trang 49

Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50

Transfer Complete Code (TCC)

Linked Transfer

Mutichannel

Bộ điều khiển EDMA có thể điều khiển được nhiều kênh DMA cùng một lúc. Các thông số đặc trưng của một kênh EDMA như: Địa chỉ nguồn, địa chỉ đích, kích thước bộ đệm.

Ví dụ của địa chỉ nguồn là địa chỉ của cổng McBSP2, địa chỉ đích là một con trỏ đến bộ đệm (một mảng) nào đó. Kích thước của bộ đệm là số lượng byte được vận chuyển.

Tính đa năng đa kênh của EDMA

Tranfer complete code.

Destination 1 (Memory) Source 1 (IO port) Channel 1 Destination 2 (Memory) Source 2 (IO port) Channel 2 Destination 3 (Memory) Source 3 (IO port) Channel 3

Đồ án tốt nghiệp đại học Trang 50

Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50

Khi có sự kiện một kênh EDMA hoàn thành vận chuyển dữ liệu, bộ điều khiển EDMA sẽ phát sinh một ngắt duy nhất gửi về cho CPU. Vậy làm cách nào để CPU có thể phân biệt được ngắt đó là do kênh EDMA nào hoàn thành. Đó chính là thông qua Transfer Complete Code (TCC). Mỗi kênh EDMA khi được cấu hình sẽ được gán cho một con số được gọi là TCC. Khi có ngắt xảy ra, CPU đọc con số TCC gửi về bởi EDMA Controller, thông qua đó nó biết được kênh nào đã hoàn thành việc vận chuyển dữ liệu.

Linked transfer

Khi EDMA kết thúc ở phía Ping và cần chuyển sang phía Pong. Con trỏ nguồn và đích cần phải được trỏ tới vị trí bộ đệm mới. Khi liên kết truyền được dùng, địa chỉ mới có thể được lưu trữ trong cấu trúc cấu hình kết nối ( links configuration structure ) và được tự động nạp vào bởi mạch điều khiển EDMA khi hoàn thành quá trình truyền. Việc cấu hình lại cũng có thể được quản lí bởi Dsp bằng các ngắt mềm và kết nối truyền này sẽ được bỏ đi khi kết thúc ngắt mềm trước khi mẫu tín hiệu tiếp theo được nhận để tín hiệu audio được liên tục.

Trong một ứng dụng, khi chương trình chạy, các module DSP/BIOS riêng rẻ sẽ thực hiện khởi tạo quá trình cấu hình với công cụ cấu hình DSP/BIOS. Hàm chính được gọi tới và thực hiện các đoạn chương trình khác. Trong ví dụ này main() thực hiện khởi tạo và bắt đầu EDMA để truyền dữ liệu. Khi hàm main kết thúc, điều khiển

Channel 1(TCC1 )

Channel 2 (TCC 2)

Channel 3 (TCC 3) CPU

TCC?

Đồ án tốt nghiệp đại học Trang 51

Nguyễn Thị Thanh Huyền Lớp ĐT7 – K50

được chuyển cho Dsp/Bios để phục vụ các ngắt hoặc các đoạn chương trình cơ bản cần thiết. Khi không có công việc gì được thực thi thì đoạn chương trình rỗng được thực hiện. Ngắt EDMA sẽ được dành quyền ưu tiên trong vòng đoạn chương trình rỗng

Một phần của tài liệu nghiên cứu các quy trình thực hiện hệ thống xử lý trong miền thời gian thực trên bo mạch nhúng DSP (Trang 48)

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

(111 trang)