Tài liệu tổng hợp về PSoc

 Một số tài liệu về PSoC

Datasheet + Example Codes + Guild các bạn có thể down trực tiếp trên trang chủ của hãng
Địa chỉ:
+ Trang chủ: Cypress Semiconductor
+ Application: Applications - Embedded Development Tools - Library - Software - Firmware - Schematics
+ Document: Cypress Semiconductor - Documents
+ Software (PSoC Designer 5.0): PSoC Designer 5.0 - Cypress Semiconductor (281MB)

+ Datasheet CY8C29466 (tiếng Việt): Psoc.pdf (PDF-600KB)
+ Làm quen với phần mềm PSoC Designer: Creating a Project with PSoC Designer.pdf (PDF-95KB)
+ Lập trình C cho PSoC: C Prog. PSoC.pdf (PDF-2.57MB)
+ Phần mềm nạp và sơ đồ nguyên lý mạch nạp: Mạch nạp PSoC và phần mềm nạp PSoC - 3I-K50 Team

+ Diễn đàn trao đổi về PSoC: PSoCDeveloper Index page

PSoC Designer 5.1 directlink

Bản này đã chính thức hỗ trợ window7
http://dlm.cypress.com.edgesuite.net..._5_1_beta1.iso

*** Tut cho PSoc (Chip Design in PSoC Designer 5.0)

Bạn nên đọc các tài liệu trên trước để hiểu rõ hơn về PSoC.Mình mặc định là các bạn đã có kiến thức tương đối về VXL và lập trình C rồi nhé.

Để làm việc với PSoC trước hết cần có chương trình PSoC Designer (để thiết kế) và PSoC Programmer (chương trình nạp cho các bạn có KIT PSoC của cypress) hoặc bạn dùng Phần mềm CYP1.9 (dành cho các bạn tự chế mạch nạp)
Giờ bắt đầu vào bài 1:chủ đề kinh điển nhấp nháy LED 


Ở bài này mình sẽ hướng dẫn các bạn làm quen vơi giao diện của PSoC Designer qua 2 cách điều khiển LED nhấp nháy.
-Trước hết là mạch nguyên lý:Nối LED vào PORT0 của chip(bạn thích nối vào PORT nào cũng được,nhớ cho qua trở hạn dòng). Minh sử dụng chip CY8C27443,chip này khá cũ rồi,các bạn có thể mua CYC29466 hay CYC29666 cũng được (bán ở PNLab ).
Cách thức tạo 1 project rất đơn giản nên mình không viết vào đây,các bạn tự làm nhé.Giao diện chương trình:


1.Workspace:nơi bạn quản lý project của mình,bạn có thể truy xuất các file chương trình do bạn viết hoặc các file được tạo ra khi biên dịch project (.c,.h,.asm...)
2.User modul:đây là thư viện chứa các modul mà Designer hỗ trợ cho bạn.Bạn có thể tìm thấy từ các modul thông dụng như LED7Seg,LCD,PGA vv... đến các modul phức tạp như ADC,DAC,giao tiếp SPI,I2C,USB.....
3.Pinout::nơi quản lý các chân vào ra của chip(chip CY8C27443 mà mình sử dụng chỉ có 4 cổng GPIO).Ở cửa sổ này bạn có thể thiết lập các thông số của từng chân một là đầu ra,đầu vào,ngắt,trở pull-up/pull-down,strong,HiZ,Analog....
4.properties::cửa sổ này chứa các thông số của các user modul mà bạn đặt vào trong chip.
5.Global resources::nơi bạn thiết lập các thông số chung của chip như System clock,các nguồn clock trong chip,nguồn nuôi,điện áp tham chiếu cho ADC vv...
5 cửa sổ trên là 5 cửa sổ hay sử dụng nhất,bạn có thể ẩn/hiện hoặc di chuyển các cửa sổ thoải mái 


.Bạn cũng có thể cho hiện các cửa sổ khác như Datasheet windowResourrces meter,Output..bằng cách View/chọn cửa sổ bạn muốn hiện lên.
Giờ vào phần chính:
-Cách 1:Sử dụng modul có sẵn để điều khiển LED.
+Để chọn modul LED bạn vào cửa sổ User modul/Misc Digital/ nháy chuột vào modul LED
+Sau khi chọn xong trên cửa sổ Work Space sẽ hiện lên modul bạn vừa chọn (modul này ko cần sử dụng các khối Digital cũng như Analog trong chip)
+Clik chuột vào modul bạn sẽ thấy các thông số của modul ở cửa sổ Properties.

Dòng đầu để chọn cổng mà bạn nối LED,dòng 2 để bạn chọn LED nối vào chân nào(chỉ có thể nối 1 chân ),dòng 3 để bạn chọn khi sáng thì đầu ra là low hay high (phụ thuộc vào cách bạn mắc LED)
+Giờ bạn clik vào nút Generate/Build trên thanh công cụ.Chương trình sẽ tự động thêm các source code vào project của bạn.Giờ bạn vào cửa sổ Workspace/Sources files/main.c để viết chương trình
Mã:
#include // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules

void delay(long t)
{
long i;
for(i=0;i<t;i++){;}< span="">
}
void main(void)
{
LED_Start(); //khởi động modul,lệnh này sẽ tắt tất cả các LED
LED_On(); //Bật LED
while(1) {
LED_Invert();
delay(10000);// nháy LED
}
// Insert your main routine code here.
}
Giờ là nạp vào và xem kết quả.
Cách 2:không sử dụng modul có sẵn (mình đề nghị nên sử dụng cách này,linh hoạt và dễ hiểu hơn).Bạn chỉ cần vào Workspace/Sources files/main.c rồi viết code vào thôi.Lưu ý là vì bạn không sử dụng modul có sẵn nên bạn phải tự thiết lập cho các cổng mà bạn nối LED vào.Để 1 cổng là đầu ra thì bạn cần để drive cho cổng đó là pull-up,pull-down hay strong (ở cửa sổ Pinout hoặc trên các cổng trong giao diện)
Mã:
// C main line
//----------------------------------------------------------------------------

#include // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules

void delay(long y)
{
long i;
for(i=0;i<y;i++){;}< span="">
}
void main(void)
{ PRT0DR=0xFF;//bật tất cả các LED ở PORT0
while(1) {
delay(10000);
PRT0DR=~PRT0DR;//nháy LED

}
// Insert your main routine code here.
}
Tổng Kết:
Bài này không phải là dạy các bạn làm LED nhấp nháy (vì nó quá đơn giản) mà mình muốn thông qua 2 ví dụ trên để các bạn làm quen với cách sử dụng PSoC Designer,khi các bạn đã làm quen rồi thì sẽ thực hiện các bài sau dễ dàng hơn.Kết thúc bài này minh mong các bạn nắm được các vấn đề sau:
+Nắm được kiến trúc cơ bản của PSoC.
+Biết cách sử dụng phần mềm PSoC Designer để thiết kế,lập trình cho PSoC.
+Biết cách thiết lập các GPIO của chip.

 

*HƯỚNG DẪN LÀM MẠCH NẠP PSOC


1 : Sơ đồ nguyên lý mạch nạp:

Có rất nhiều cách để mắc mạch nạp cho Psoc sau đây tôi giới thiệu với các bạn mạch nạp Psoc đơn giản!

Bản vẽ PCB:

2 : Hướng dẫn sử dụng mạch nạp PSOC

  1. Mạch nạp sử dụng nguồn DC chung với mạch chip chủ. Điện áp sử dụng từ 7- 24 VDC. (khi sủ dụng nếu không có rắc cắm nguồn cần phân biệt rõ VDD và GND khi đấu tắt. Để phân biệt VDD và GND bạn có thể dựa vào chân tụ)

  2. Mạch nạp giao tiếp với máy tính bằng cổng LPT. (chú ý loại cáp cần để sử dụng là loại cáp 2 đầu đều là COM đực)

  3. Mạch giao tiếp với PSOC bằng cáp dây 5 sợi.Các bạn khi sử dụng chú ý đấu đúng thứ tự dây.

    1.  Sợi dây 1 là VCC (gần đèn LED nhất) nối vào VCC của chip PSOC( chân 28 loại 28 chân)

    2. Sợi dây 2 là GND nối vào VSS của Psoc (chan 14 loại 28 chân)

    3. Sợi dây 3 là XRES nối vào chân XRES của PSOC (chân 19 loại 28 chân)

    4. Sợi dây 4 là SCLK là chân tín hiệu clock nối vào chân SCLK(chân 13 loại 28 chân)

    5. Sợi dây 5 là SDATA là chân data nối vào chân SDA(chan 15 loại 28 chân)

Hướng dẫn sử dụng phần mềm CYP1.7 dể nạp chương trình cho chip PSOC
    • Trước tiên khi cắm mạch nạp và máy tính thì phải kiểm tra xem máy tính đã nhận được bàn nạp chưa nhờ các thông báo trên bảng status. Chương trình nạp chỉ kiểm tra một lần khi cắm nguồn và kiểm tra lại khi nạp chương trình nên muốn kiểm tra lại thì bạn phải ấn chọn checksum.

    • Khi kết nối bàn nạp với PSOC thì yêu cầu rút nguồn điện ở mạch chứa chip PSOC cần nạp để hai nguồn không ảnh hưởng lẫn nhau. Khi kết nối thành công thì trên thanh Device ID sẽ hiển thị loại chip banh đang sử dụng. Để kiểm tra lại chọn Checksum.

    • Chon Load để chọn File .Hex cần nạp cho chip.

    • Sau đó chọn Program để bắt đầu nạp.
  1. Chú ý khi nạp xong chương trình sẽ báo checksum data đã nạp. Nếu data checksum không bằng data kiểm tra thì cần phải program lại. Bạn cũng có thể chọn Verify after program bằng cách chọn setting. Như vậy khi nạp chương trình thì sau khi nạp xong chương trình sẽ kiểm tra lỗi khi nạp cho chúng ta. Nhưng qua trình này khá lâu nên khi mạch nạp đã chạy ổn định thì bạn không cần để chức năng này mà chỉ cần quan sát là được.

  2. Trong mục setting bạn đặt

    1. Delay   1

    2. Port      LPT mà bạn sử dụng.

    3. Hardware Type    Type 4

    4. Chọn XRES RSET

Hướng dẫn cài đặt và sử dụng phần mềm lập trình cho họ PSOC

  1. chương trình sử dụng là PSOC Designer

  2. cách cài đặt:

    1. Cài Designer 4.2

    2. Cài bản nâng cấp Psoc Designer SP3

    3. Muốn sử dụng ngôn ngữ C thì bạn cần Key di theo bộ cài.

    4. Sauk khi cài xong bản nâng cấp SP3 bạn chạy chương trình rồi vào tool options chọn compiler rồi copy Key vào license number rồi chọn I accept OK

Có thể nhũng hướng dẫn trên không đầy đủ hết toàn bộ nhưng đó là những gì bạn có thể bắt đầu làm quen với PSOC một cách nhanh nhất.

Post a Comment

Mới hơn Cũ hơn