PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 26-12-2008, 10:55 PM   #1
new_bk
Nhập môn đệ tử
 
Tham gia ngày: Dec 2008
Bài gửi: 3
:
Flash(ROM) và EEPROM

Em thấy một số chip pic24x,và dsp30,dsp33 không có EEPROM.Như thế khi đòi hỏi lưu lại thông số (ví dụ các hệ số tính toán được Kp,Ki..) thì chắc phải lưu lại vào flash (rom).Nhưng tư tưởng thực hiện như thế nào thì em chưa thông .Mong các anh chỉ giúp
new_bk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-12-2008, 11:59 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi new_bk View Post
Em thấy một số chip pic24x,và dsp30,dsp33 không có EEPROM.Như thế khi đòi hỏi lưu lại thông số (ví dụ các hệ số tính toán được Kp,Ki..) thì chắc phải lưu lại vào flash (rom).Nhưng tư tưởng thực hiện như thế nào thì em chưa thông .Mong các anh chỉ giúp
Đúng vậy bạn ạ, cần dùng flash để "giả lập" EEPROM dữ liệu. Bạn đọc app. note sau của Microchip để nắm tư tưởng nhé:
http://www.microchip.com/stellent/id...pnote=en530593

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-01-2009, 03:15 PM   #3
memdsp
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 13
:
Trích:
Nguyên văn bởi namqn View Post
Đúng vậy bạn ạ, cần dùng flash để "giả lập" EEPROM dữ liệu. Bạn đọc app. note sau của Microchip để nắm tư tưởng nhé:
http://www.microchip.com/stellent/id...pnote=en530593

Thân,
Em cũng đang cần dùng đến ROM lớn cho một ứng dụng của mình,em có đưa ra hai phương án:
1.Dùng dspic+ROM ngoài
2.Dùng dspic có Flash Rom đủ lớn (ví dụ dsp30F6015 Flash 144k) và lúc đó cũng sử dụng nó để giả lập EEPROM
---Hai phương án này phương án nào ưu thế hơn,phương án nào dễ làm hơn.
---Nếu ở phương án 2 :thì lượng flash Rom có thể sử dụng như EEProm là bao nhiêu( chỗ này mong anh Nam nói kĩ giúp),em cũng đọc app anh Nam gửi trên nhưng tiếng anh không khá nên có nhiều chỗ lờ mờ .Anh Nam có thể nói kĩ giúp về việc sử dụng Flash vai trò EEprom này không.
--Em thấy trong file emulation đi kèm có file included chỉ thấy họ viết cho dsp33,p24 thôi liêu em sử dụng file này luôn thì có thể viết đọc ghi trực tiếp cho những dòng này không.Và nếu thế dòng dsp30 có thể làm như thế này không.
memdsp vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-01-2009, 08:52 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi memdsp View Post
Em cũng đang cần dùng đến ROM lớn cho một ứng dụng của mình,em có đưa ra hai phương án:
1.Dùng dspic+ROM ngoài
2.Dùng dspic có Flash Rom đủ lớn (ví dụ dsp30F6015 Flash 144k) và lúc đó cũng sử dụng nó để giả lập EEPROM
---Hai phương án này phương án nào ưu thế hơn,phương án nào dễ làm hơn.
---Nếu ở phương án 2 :thì lượng flash Rom có thể sử dụng như EEProm là bao nhiêu( chỗ này mong anh Nam nói kĩ giúp),em cũng đọc app anh Nam gửi trên nhưng tiếng anh không khá nên có nhiều chỗ lờ mờ .Anh Nam có thể nói kĩ giúp về việc sử dụng Flash vai trò EEprom này không.
--Em thấy trong file emulation đi kèm có file included chỉ thấy họ viết cho dsp33,p24 thôi liêu em sử dụng file này luôn thì có thể viết đọc ghi trực tiếp cho những dòng này không.Và nếu thế dòng dsp30 có thể làm như thế này không.
Tôi sẽ không kết luận phương án nào ưu thế hơn, vì nó tùy theo tiêu chuẩn đánh giá cụ thể. Tôi chỉ nêu lên những nhược điểm có thể có của mỗi phương án.

- Nếu dùng dsPIC và EEPROM ngoài, sẽ tốn thêm một ít tiền và vài chân I/O của dsPIC (giá bán lẻ là 3.82 USD cho một chip 24AA1025 dung lượng 1 Mbit, hay 3.14 USD cho một chip 25AA1024 dung lượng 1 Mbit).

- Nếu dùng dsPIC và giả lập EEPROM thì CPU sẽ bị stall (đứng) trong khoảng thời gian thực hiện thao tác ghi ô nhớ thực sự.

Về độ khó, theo tôi cả hai phương án đều không khó, vì Microchip đã cung cấp các app. note với các code mẫu.

Dung lượng EEPROM có thể được giả lập chỉ phụ thuộc vào số trang (khối nhớ được xóa độc lập bằng một lệnh xóa trang) bộ nhớ flash còn trống của chương trình ứng dụng.

Các dsPIC33F hay PIC24 đều có cùng kích thước trang, do đó bạn có thể dùng code mẫu cho bất kỳ dsPIC33F hay PIC24 nào. Các dsPIC30F cần giả lập EEPROM thì lại có kích thước trang (khối nhớ có thể xóa độc lập) khác với các dsPIC33F/PIC24, đồng thời dsPIC30F cũng không thể ghi vào từng từ lệnh riêng biệt được. Do đó, cần sửa lại code cho các dsPIC30F.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-01-2009, 12:28 PM   #5
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Viec ghi du lieu vao Flash la mot giai phap rat hay(vua khong mat du lieu khi mat dien, vua có the luu nhieu du lieu(bo nho Flash thong thuong se lon hon bo nho eeprom nhieu)). Vi du nhu có 1 ung dung nao dó, can luu khoang do 3-4 bo font...hoac nhu các ban lam ve quang bao, có khoang 100 hieu ung chang han, cac ban muon khi mat dien sau do co dien lai 100 hieu ung nay tiep tuc chạy, thì cách ghi vao Flash la mot giai pháp tot nhat.

Neu viet chuong trinh bang CCS, cac ban co the su dung 2 lenh nay de ghi và doc du lieu trong Flash:

1 write_program_memory( address, dataptr, count );
2 READ_PROGRAM_MEMORY (address, dataptr, count );
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-01-2009, 12:47 PM   #6
dientudong
Đệ tử 5 túi
 
Tham gia ngày: Oct 2008
Bài gửi: 95
:
bạn gì đó ơi bạn có thể giúp mình xem code của file lcd.rar mình post ở đề tài "cứu tôi với"
Cảm ơn bạn
dientudong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-01-2009, 03:04 PM   #7
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
Nói chung có thể thực hiện việc lưu vào Flash của PIC thay cho EEPROM, tuy nhiên cần chú ý phải xác định vùng địa chỉ trống trên Flash cần dùng cho hợp lý để tránh trùng lặp với các vùng chương trình và dữ liệu khác.
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-01-2009, 01:05 PM   #8
Serenade
Nhập môn đệ tử
 
Tham gia ngày: Oct 2008
Bài gửi: 6
:
Trích:
Nguyên văn bởi cskiller View Post
Nói chung có thể thực hiện việc lưu vào Flash của PIC thay cho EEPROM, tuy nhiên cần chú ý phải xác định vùng địa chỉ trống trên Flash cần dùng cho hợp lý để tránh trùng lặp với các vùng chương trình và dữ liệu khác.
bạn cskiller cho mình hỏi, làm sao để biết chổ nào trong Flash còn trống để lưu dữ liệu tránh ghi đè lên code chương trình hoặc dữ liệu khác
Serenade vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-11-2009, 09:58 AM   #9
ngotuyen
Nhập môn đệ tử
 
Tham gia ngày: May 2009
Bài gửi: 4
:
Có anh nào có thể hướng dẫn cụ thể về vấn đề ghi và đọc từ bộ nhớ flash được không ạh.
Em đang rất vướng và cần sự giúp đỡ.
Mong các cao thủ chỉ giáo.
Em cảm ơn rất nhiều!
ngotuyen vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-12-2009, 04:27 PM   #10
rhinoceros
Đệ tử 1 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 17
:
em tìm trên mạng chỉ được code = asm thôi. có bác nào viết đc code = C không cho em xin.
write_program_memory( address, dataptr, count );
READ_PROGRAM_MEMORY (address, dataptr, count );

làm được 2 chương trình này là ok rồi
thanks
rhinoceros vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-12-2009, 08:41 PM   #11
nghia_tdh21
Đệ tử 3 túi
 
nghia_tdh21's Avatar
 
Tham gia ngày: Oct 2006
Bài gửi: 46
:
Mình dùng MikroC thấy có các hàm hỗ trợ việc ghi vào flash.
Code:
Flash_Read 
Flash_Read_N_Bytes 
Flash_Write 
Flash_Write_8 
Flash_Write_16 
Flash_Write_32 
Flash_Write_64 
Flash_Erase 
Flash_Erase_64 
Flash_Erase_1024 
Flash_Erase_Write 
Flash_Erase_Write_64 
Flash_Erase_Write-1024
ko biết trong ccs thế nào
__________________
http://www.hieunghia.info
Lướt web thoải mái với USB3G của Viettel
http://www.hieunghia.info/tin-cong-n...3g-vietel.html
-----------------------------------------------------------------------------------
Một chút giận,hai chút tham,lận đận cả đời ri cũng khổ.
Trăm điều lành,ngàn điều nhịn,thong dong tấc dạ rứa mà vui
nghia_tdh21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-12-2009, 06:28 PM   #12
zzKhungDiLaczz
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 5
:
Red face Xem giúp E cái mấy A. ko hiểu sao no chạy ko được.

Bài Đồ Án của e la: Khóa Số sử dụng Pic6f877a giao tiếp với Lcd, viết bằng ASM. sao e viết no chạy ko được.

thay đổi nội dung bởi: zzKhungDiLaczz, 24-12-2009 lúc 06:33 PM. Lý do: e chua post code
zzKhungDiLaczz vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-12-2009, 10:07 AM   #13
rhinoceros
Đệ tử 1 túi
 
Tham gia ngày: Jul 2007
Bài gửi: 17
:
Post flash programing

Trích:
Nguyên văn bởi nghia_tdh21 View Post
Mình dùng MikroC thấy có các hàm hỗ trợ việc ghi vào flash.
Code:
Flash_Read 
Flash_Read_N_Bytes 
Flash_Write 
Flash_Write_8 
Flash_Write_16 
Flash_Write_32 
Flash_Write_64 
Flash_Erase 
Flash_Erase_64 
Flash_Erase_1024 
Flash_Erase_Write 
Flash_Erase_Write_64 
Flash_Erase_Write-1024
ko biết trong ccs thế nào
hic.em dùng MPLAB chẳng được hỗ trợ gì hết ấy.tự viết từ đầu tới cuối luôn.
bác nào nói cho em cách ghi vào với .
bình thường nếu ta dùng 1 chip nhớ thì ta chỉ thao tác với thanh ghi 8bit thôi.nhưng ở đây chúng ta dùng trực tiếp bộ nhớ flash của chương trình thay cho eeprom nên 1 thanh ghi của nó là 24bit.vậy ta phải giải quết thế nào .
rhinoceros vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-12-2009, 08:18 PM   #14
nghia_tdh21
Đệ tử 3 túi
 
nghia_tdh21's Avatar
 
Tham gia ngày: Oct 2006
Bài gửi: 46
:
Trong datasheet cũng có các đoạn code mẫu bằng asm ghi vào EEPROM :
Mình trích trong datasheet con 77a:

DATA EEPROM WRITE
Code:
BSF STATUS,RP1 ;
BSF STATUS,RP0
BTFSC EECON1,WR ;Wait for write
GOTO $-1 ;to complete
BCF STATUS, RP0 ;Bank 2
MOVF DATA_EE_ADDR,W ;Data Memory
MOVWF EEADR ;Address to write
MOVF DATA_EE_DATA,W ;Data Memory Value
MOVWF EEDATA ;to write
BSF STATUS,RP0 ;Bank 3
BCF EECON1,EEPGD ;Point to DATA
;memory
BSF EECON1,WREN ;Enable writes
BCF INTCON,GIE ;Disable INTs.
MOVLW 55h ;
MOVWF EECON2 ;Write 55h
MOVLW AAh ;
MOVWF EECON2 ;Write AAh
BSF EECON1,WR ;Set WR bit to
;begin write
BSF INTCON,GIE ;Enable INTs.
BCF EECON1,WREN ;Disable writes
DATA EEPROM READ
Code:
BSF STATUS,RP1 ;
BCF STATUS,RP0 ; Bank 2
MOVF DATA_EE_ADDR,W ; Data Memory
MOVWF EEADR ; Address to read
BSF STATUS,RP0 ; Bank 3
BCF EECON1,EEPGD ; Point to Data
; memory
BSF EECON1,RD ; EE Read
BCF STATUS,RP0 ; Bank 2
MOVF EEDATA,W ; W = EEDATA
__________________
http://www.hieunghia.info
Lướt web thoải mái với USB3G của Viettel
http://www.hieunghia.info/tin-cong-n...3g-vietel.html
-----------------------------------------------------------------------------------
Một chút giận,hai chút tham,lận đận cả đời ri cũng khổ.
Trăm điều lành,ngàn điều nhịn,thong dong tấc dạ rứa mà vui

thay đổi nội dung bởi: nghia_tdh21, 26-12-2009 lúc 09:06 PM.
nghia_tdh21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 12:14 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam