PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC32 - Bộ điều khiển tín hiệu số 32-bit (http://www.picvietnam.com/forum/forumdisplay.php?f=61)
-   -   cách dùng DMA của PIC32 ? (http://www.picvietnam.com/forum/showthread.php?t=4845)

ngocthanh07 30-08-2009 01:30 AM

cách dùng DMA của PIC32 ?
 
Em đang tìm hiểu DMA của PIC32, nhưng em thấy cách đặc tên các mode của nó khác với mấy con DSPIC, có thể em đọc sót chỗ nào chăng.

-Em muốn thiết lập DMA hoạt động ở chế độ PING - PONG (như trong DSPIC33F) nhưng không biết trong PIC32 thì nó gọi tên là gì, em không thấy cái đó.

-Em muốn hỏi rõ hơn về cái CRC trong DMA, có phải đây là cách kiểm tra lỗi khi truyền không ? Tức là kiểm tra sai thì sẽ thực hiện lại việc truyền và nhận data, và mọi chuyện thực hiện hoàn toàn bằng phần cứng hay phải có sự can thiệp của phần mềm.

-Thứ nữa là DMA RAM, trong dspic thì có cụ thể là vùng nào là vùng DMA RAM (dual port), còn trong PIC32 có phải không có riêng vùng này mà bất kì vùng RAM nào cũng dùng làm DMA buffer được.


Nếu em có đọc sót tài liệu chỗ nào, các anh chỉ lại giúp.
Thank và xin lỗi vì đã làm phiền mọi người đọc tin này.

tahi 07-07-2010 12:53 PM

bài viết này sau 1 năm mà ko thấy ai chả lời, em cũng đang nghiên cứu DMA của PIC32 và mạo muội đưa ra các kiến thức mà mình đã thu lượm được để anh em review hộ ..
PIC32MX575...có 4 kênh DMA,
PIC32 sử dụng source pointer và destination pointer để trỏ vào 2 nơi cần truyền dữ liệu qua DMA (CPU&peripheral, peripheral & peripheral)
pointer và các interrupt của DMA được cập nhật sau mỗi lần truyền dữ liếu (hỗ trợ truyền đến 4 byte data)
Không biết sau đoạn code này, dữ liệu nhận từ UART có được copy vào buffer qua DMA1 ko nhỉ
Code:

        if(DmaChnMemcpy(buffer,&U2ARXREG,strlen(buffer),1,0) != DMA_TXFER_BC_ERR)
        {       
                printf("Transfer's finished");
        }



Múi giờ GMT. Hiện tại là 07:31 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam