Thànhphần của chíp PSoC bao gồm các khối ngoại vi số và tuơng tự có thể cấu hình được, một bộ vi xử lý 8 bit, bộ nhớ chương trình EEROM có thể lập trình được và bộ nhớ RAMkhá lớn.. Để lậ
Trang 11.Tổng quan Chip Psoc
PSoC là một từ viết tắt của cụm từ tiếng anh Programmable System on Chip, nghĩa
là hệ thống khả trình trên một chíp Các chíp chế tạo theo công nghệ PSoC cho phép thayđổi đuợc cấu hình đơn giản bằng cách gán chức năng cho các khối tài nguyên có sẵn trênchíp Hơn nữa nó còn có thể kết nối tuơng đối mềm dẻo các khối chức năng với nhauhoặc giữa các khối chức năng với các cổng vào ra Chính vì vậy mà PSoC có thể thay thếcho rất nhiều chức năng nền của một số hệ thống cơ bản chỉ bằng một đơn chíp Thànhphần của chíp PSoC bao gồm các khối ngoại vi số và tuơng tự có thể cấu hình được, một
bộ vi xử lý 8 bit, bộ nhớ chương trình (EEROM) có thể lập trình được và bộ nhớ RAMkhá lớn Để lập trình hệ thống, người sử dụng được cung cấp một phần mềm lập trình, ví
dụ như cho các chíp PSoC của Cypress người lập trình phải có phần mềm PSoC
Designer Ngoài ra để cài được chương trình điều khiển vào chíp thì người lập trình phải
có một kit phát triển do hãng chế tạo chip cung cấp (hoặc một bộ nạp) Phần mềm thiết
kế được xây dựng trên cơ sở hướng đối tượng với cấu trúc module hóa Mỗi khối chứcnăng là một module mềm Việc lập cấu hình cho chíp như thế nào là tùy thuộc vào ngườilập trình thông qua một số thư viện chuẩn Người lập trình thiết lập cấu hình trên chíp chỉđơn giản bằng cách muốn chíp có những chức năng gì thi kéo chức năng đó và thả vàokhối tài nguyên số hoặc tương tự, hoặc cả hai tùy theo từng chức năng (Phương pháp lậptrình kéo thả) Việc thiết lập ngắt trên chân nào, loại ngắt là gì, các chân vào ra đượchoạt động ở chế độ như thế nào đều tùy thuộc vào việc thiết lập của người lập trình khithiết kế và lập trình cho PSoC Với khả năng đặt cấu hình mạnh mẽ này, một thiết bị điềukhiển, đo lường có thể được gói gọn trên một chip duy nhất Chính vì lý do đó, hãngCypress MicroSystems đã không gọi sản phẩm của mình là vi điều khiển (àC) như
truyền thống, mà gọi là “thiết bị PSoC” (PSoC device), và họ hy vọng rằng, với khả năngđặt cấu hình mạnh mẽ, người sử dụng sẽ có được những thiết bị điều khiển, những thiết
bị đo có giá rẻ, kích thước nhỏ gọn, và sản phẩm PSoC của họ sẽ thay thế được các thiết
bị dựa trên vi xử lý hoặc vi điều khiển đã có từ trước đến nay
Chíp PSoC (CY8C27xxx) cung cấp:
• Bộ vi xử lý với cấu trúc Harvard
Tốc độ của bộ vi xử lý lên đến 24 MHz
Lệnh nhân 8 bit x 8 bit, thanh ghi tích lũy là 32 bit
Hoạt động ở tốc độ cao mà năng lượng tiêu hao ít
Dải điện áp hoạt động từ 3.0 tới 5.25V
Điện áp hoạt động có thể giảm xuống 1.0 V sử dụng chế độ kích điện áp
Hoạt động trong dải nhiệt độ ư400C đến 850C
• Các khối ngoại vi có thể được sử dụng độc lập hoặc kết hợp
12 khối ngoại vi tương tự có thể được thiết lập để làm các nhiệm vụ:
Các bộ ADC lên tới 14 bit
Các bộ DAC lên tới 9 bit
Các bộ khuếch đại có thể lập trình được hệ số khuếch đại
Các bộ lọc và các bộ so sánh có thể lập trình được
Trang 2 8 khối ngoại vi số có thể được thiết lập để làm các nhiệm vụ:
Các bộ định thời đa chức năng, đếm sự kiện, đồng hồ thời gian thực, bộ điều chế độ rộng xung có và không có dải an toàn (deadband)
Các modun kiểm tra lỗi (CRC modunles)
Hai bộ truyền thông nối tiếp không đồng bộ hai chiều, hiện nay Cypresss đã cho ra đời loại Psoc hỗ trợ chuẩn USB và USB không dây
Các bộ truyền thông SPI Master hoặc Slave có thể cấu hình được
Có thể kết nối với tất cả các chân vào ra
• Bộ nhớ linh hoạt trên chíp
Không gian bộ nhớ chương trình Flash từ 4K đến 16K, phụ thuộc vào từng
loại chíp với chu kỳ ghi xóa cho bộ nhớ Flash là 50.000 lần
Không gian bộ nhớ RAM là 256 byte
Chíp có thể lập trình thông qua chuẩn nối tiếp (ISSP)
Bộ nhớ Flash có thể được nâng cấp từng phần
Chế độ bảo mật đa năng, tin cậy
Có thể tạo được không gian bộ nhớ Flash trên chíp lên tới 2,304 byte
• Có thể lập trình được cấu hình cho từng chân của chíp
Các chân vào ra ba trạng thái sử dụng Trigger Schmitt
Đầu ra logic có thể cung cấp dòng 25mA với điện trở treo cao hoặc thấp bên trong
Thay đổi được ngắt trên từng chân
Đường ra tương tự có thể cung cấp dòng tới 40mA
Đường ra đa chức năng có từ 6 đến 44 tùy thuộc vào từng loại chíp
• Xung nhịp của chíp có thể lập trình được
Bộ tạo dao động 24/48MHz ở bên trong (độ chính xác là 2,5%, không cần
thiết bị ngoài)
Có thể lựa chọn bộ dao động ngoài lên tới 24MHz
Bộ dao động thạch anh 32,768 kHz bên trong
Bộ tạo dao động tốc độ thấp bên trong sử dụng cho Watchdog và Sleep
• Ngoại vi được thiết lập sẵn
Bộ định thời Watchdog và Sleep phục vụ chế độ an toàn và chế độ nghỉ
Module truyền thông I2C Master và I2C Slave tốc độ lên tới 400kHz
Module phát hiện điện áp thấp được cấu hình bởi người sử dụng
• Công cụ phát triển
Phần mềm phát triển miễn phí (PSoCTM Designer)
Bộ lập trình và bộ mô phỏng với đầy đủ tính năng
Mô phỏng ở tốc độ cao
Trang 3Hình 1 Các khối của Psoc
2.Tổng quan phần mền Psoc Designer, Psoc
Programmer và kit phát triển CY3210
2.1 Cài đặt phầm mền Psoc Designer
Phần mền Psoc Designer được sử dụng để thiết kế và lập trình cho chip Psoc, hỗ trợ cả hai loại ngôn ngữ là: Assembly và C Để tiến hành cài đặt ta sử dụng 2 file:
psoc_designer_tm v 4_2_9.exe và PSoCDesignerv.4.2Service_Pack3.exe Trong đó
file đầu tiên psoc_designer_tm v 4_2_9.exe là file cài đặt chính, còn file
Trang 4PSoCDesignerv.4.2Service_Pack3.exe là file sử dụng để hỗ trợ thiết kế các loại IC mới
Hai file trên có thể download miễn phí tại địa chỉ:www.cypress.com của hãng Cypress hoặc có thể đính kèm trực tiếp cùng tài liệu này
Quá trình cài đặt được minh họa qua các hình cụ thể sau Sau khi Click double vào file cài đặt thì phần mền tiến hành giải nến tự động, khi xuất hiện cửa sổ
Hình 2
Ta Click vào Next để tiếp tục tiến hành cài đặt Quá trình tiếp theo cũng tương tự như khi
cài đặt các phần mền khác, Thư mục cài đặt cài đặt mặc định là: C:\Program
Files\Cypress MicroSystems\PSoC Designer
Trang 5Hình 3
Khi tiến hành cài đặt xuất hiện cảnh báo Software Intallation của của hệ điều hành
Hình 4
Trang 6thì ta Click vào Continue Anyway để tiếp tục cài đặt cho đến khi thành công Khi quá
trình cái đặt thành công, hệ điều hành sẽ yêu cầu khởi động lại hệ thống
Trang 8Hình 8
Click Finish để kết thúc quá trình cài đặt
Như vậy là quá trình cài đặt và update đã thành công Như đã nói ở trên phầm mền Psoc Designer hỗ trợ lập trình bằng cả 2 loại ngôn ngữ là Assembly và C Nhưng để chương trình hỗ trợ lập trình bằng C thì ta cần tiến hành kích hoạt như sau Trước tiên kich hoạt
phần mền Psoc Designer bằng cách Click: Start/Programs/Cypress MicroSystems/Psoc
Designer Khi chương trình khởi động xong sẽ suất hiện giao diện
Hình 9
Trang 9Click vào biểu tưởng Start new project, thì xuất hiện tiếp giao diện
Hình 10
Tại đây ta Click tiếp vào nút Cancel Tiếp theo trên thanh công cụ của chương trình, theo
đường dẫn: Tools/Compiler
Trang 10Hình 11
Tại ô ImageCraft C compiler license number ta điền key CU92924-2YqQaq rồi tích vào
ô I Accept vào ấn OK để kết thúc
2.2Cài đặt phần mền Psoc programer
Như ở trên đã trình bày phần mền Psoc Designer dùng để thiết kế và lập trình cho chip Psoc còn phần mền Psoc programer được sử dụng để nạp chương trình cho chip Psoc qua
bộ nạp MiniProg và kit phát triển Cy3210 của hãng Cypress Để tiến hành cài đặt ta sử
dụng file GenProg_setup.exe File này có thể download tại địa chỉ www.cypress.comhoặc được đính kèm trực tiếp cùng tài liệu này Cũng tương tự như khi cài đặt phần mền
Psoc Designer thì khi ta Click double vào file GenProg_setup.exe thì phần mền sẽ tiến hành các quá trình giải nén dữ liệu, thư mục cài đặt mặc định là: C:\Program
Files\Cypress MicroSystems\PSoC Programmer
Trang 12Việc cài đặt driver cũng tương tự như cài driver cho các thiết bị khác Chỉ có một khác biệt nhỏ là thư mục chứa bộ cài driver cho mạch MiniProg nằm ở thư mục drivers tại thư
mục cài đặt phần mền Psoc Programmer mặc định là: C:\Program Files\Cypress
MicroSystems\PSoC Programmer\drivers
Trang 13Để kiểm tra quá trình cài driver đã thành công hay chưa bạn vào phần Device manager của My cumputer
Khi hệ thống nhận được thiết bị USB Mini Programmer thì có nghĩa là quá trình cái đặt
đã thành công và sẵn sàng sử dụng mạch MiniProg để nạp chương trình
2.3 Sử dụng phần mền Psoc Designer
Khởi động phần mền Psoc Designer theo đường dẫn: Start/Programs/Cypress
MicroSystems/Psoc Designer
Trang 15Hình 15
Sau khi điền tên của Project và đường dẫn lưu dữ project, Click vào nút Next để tiếp tục tạo project, do tạo mới project nên phần mền sẽ hỏi có tạo mới thu mực để lưu dữ project hay không
Hình 16
Click Yes để tạo Project Tiếp theo ta tiến hành chọn loại ngôn ngữ để lập trình và loại chip sẽ thiết kế
Trang 16Hình 17
Để lựa chọn loại ngôn ngữ sẽ lập trình trong Project check vào một trong hai ô là : C hoặc Assembler Để lựa chọn loại chip sẽ thiết kế ta chọn biểu tượng View Catalog
Hình 18
Tại cửa sổ này ta có một loạt các loại Chip mà phần mền hỗ trợ thiết kế và các thông số
cơ bản mỗi loại IC Có các loại Chip cơ bản là: Psoc, USB và WUSB(USB không dây) Chú ý để chọn chính xác loại IC thì cần phải để ý đến dạng đóng gói của IC Ví dụ loại
IC CY8C29466 về mặt cấu trúc thì giống hệt nhau nhưng có rất nhiều kiểu đóng gói khác nhau, loại IC đóng gói dạng DIP 28 chân là: CY8C29466-24PXI Trong tài liệu này ta chủ yếu sử dụng loại IC này Sau khi lựa chọn xong loại IC thiết kế ta ấn vào nút Select
để tiếp tục
Trang 18Phần mền cung cấp 2 giao diện cơ bản là:Device Editor và Application Editor Giêng với giao diện Device Editor có hai phần là: User Module Selection View và Interconnect
View Với User Module Selection View như hình sẽ cho ta biết các thông tin cơ về các
module mà Chip có thể hỗ trợ và tài nguyên của IC như hình 20 Còn với giao diện
Interconnect View cho ta cái nhìn trực quan về các module đã sử dụng, chúng liên kết với
nhau và liên kết với các port vào ra như thế nào Cũng như các thông số của Chip và của các Module Đây là một trong nhưng giao diện cơ bản nhất để ta tiến hành thiết kế hệ
thống dựa trên Chip Psoc Về cơ bản giao diện Interconnect View có dạng như hình 21
sau:
Hình 21
Ý nghĩa của mỗi bộ phận trong giao diện trên như sau:
1 Phần thứ nhất là “Chân Vào Ra” Tại đây cung cấp cho ta đầy đủ các thông tin về tất cả các chân của IC, mỗi chận có thể được truy xuất một cách riêng biệt Đối với mỗi chân ta có thể tiến hành một loạt các thao tác như: Thay đổi tên(việc này rất thuận tiện cho quá trình thiết kế), Thay đổi cấu hình chân, tức là chận đó thành chân vào ra số hoặc là chận vào ra tương tự Do Chip Psoc là loại chip đang năng
có thể làm việc trực tiếp với các tín hiệu tương tự nên các chân khi được nối với các khối số hay tương tự thì nó sẽ được tự động chuyển thành các loại chân tương ứng Ta cũng có thể cho phép hoặc cấm ngắt chân tại đây, cấu hình ngắt chân là
Khối Số
Khối Tương Tự
Trang 19loại ngắt sườn âm hay sườn dương tại đây(Vấn đề ngắt chân sẽ được đề cậo cụ thể hơn ở phần sau)
2 Phần thứ hai là”Thông Số Module Đã Sử Dụng”:Phần này thể hiện các thông số
cơ bản của một Module, ví dụ như Module ADC trong hình trên có các thông số
cơ bản như: Resolution(Độ phân giả), Data Clock(Tốc độ xung đồng bộ),…Đối với mỗi module thì đây là các thông số rất quan trong và để các module hoạt động chính xác thì cần phải cài đặt các giá trị cho mỗi thông số thật chính xác và hợp lí
Để cài đặt các thông số một cách chính xác thì phải nghiên cứu kĩ phần mô tả cảu mỗi module Cách thức cài đặt thông số cho một số Module cơ bản sẽ được trình bày ở phần sau
3 Phần thứ ba là “Các Thông Số Chung Của Chip”: Tại phần cho phép ta quan sát cũng như thay đổi các thông số hoạt động cơ bản của Chip như: Điện áp và tần số hoạt động, sử dụng tần số đồng bộ nội hay ngoài, sử dụng các bộ chia tần số nội (VC1, CV2, VC3) để làm nguồn tần số cho các module khác,…
4 Phần thứ tư là “Danh Sách Module”: Phần này chứa các Module mà Chip đã hỗ trợ thiết kế sẵn Trong phần này chia thành 2 phần là: Phần chứa một nhóm các loại Module, ví dụ như nhóm: Digital Common sẽ chứa rất nhiều module khác như :TX8, RX8, UART, Khi muốn sử dụng module nào cho thiết kế thì ta sẽ vào đây để lựa chọn Module phù hợp
5 Phần thứ năm là “Khối Số và Khối Tương Tự” Như đã trình bày trong phần tổng quan về Chip Psoc thì Psoc là loại IC cho phép lập trình để thiết các module ngoại
vi Để thực hiện điều này ta phải dựa vào các khối số và khối tương tự này Mỗi một loại Chip Psoc sẽ cung cấp cho ta một số lượng hạn chế các khối số và tương
tự này, như với loại IC CY8C29466 như trên cung cấp cho ta 16 khối số và 12 khối tương tự Ví dụ như khi ta cần thiết kế module ADC thì ta lấy module ADC
ở trong phần “Danh Sách Module” và ta đặt vào các khối số và khối tương tự mà Chip cung cấp Như bộ ADC sử dụng trong hình trên chiến 1 khối số và 1 khối tương tự Yêu cầu sử dụng bao nhiêu khối số và tương tự tùy thuộc vào mỗi Module Lưu ý là khi lựa chọn bất kì module nào(ngoại trừ module điều khiển LCD) khi ta ấn nút Select thì ta chỉ mới lựa chọn module đó cho thiết kế chứ chưa đặt cụ thể module đó vào khối nào, khi đó ta không cài đặt các thông số cho module đó Để hoàn thiện quá trình lựa chọn một module cho thiết kế thì ta tiếp tục ấn vào nút Place User Module
Xin nhắc lại một lần nữa là đối với lập trình Psoc thì ta có 2 phần việc cơ bản là thiết
kế phần cứng và xây dựng ứng dụng Ví dụ để thiết kế một Project có chức năng lấy mẫu một tín hiệu tương tự rồi hiển thị giá trị lấy mẫu lên màn hình LCD Như vậy với Project này thì ta cần phải dùng 2 module là: Module ADC và Module điều khiển LCD Để thực hiện điều này thì ta sử dụng cửa sổ Device Editor như đã trình bày ở phần trên để lấy các module cấn sử dụng ra, đặt vào các khối cần thiết, thiết lập các thông số cho mỗi module Nhưng làm sao để cho các module này hoạt động và chúng liên kết, tương tác với nhau ra ra sao? Để trả lời câu hỏi này ta sẽ sử dụng giao diện Application Để chuyển sang cửa sổ Application Editor hay Device Editor thì ta Click vào các biểu tượng tương ứng và
Trang 202.3.2 Application Editor
Giao diện Application Editor khi mở lần đầu tiên có dạng
Hình 22
Nói chung đối với chương trình viết bằng C thì phần lớn mã nguồn của chương trình nằm
trong file main.c và được đặt trong hàm Main, bắt đầu từ dòng text “// Insert your main
routine code here.” Về cơ bản thì chương trình có cấu trúc giống với một chưong trình C
chuẩn, tức là chưong trình có một hàm main, các hàm con được viết ngoại hàm main và được gọi trong hàm main Các cấu trúc vòng lặp(for hay ưhile) các câu lênh điều khiển, lựa chọn(if, switch), các lệnh sử lí string, phép toán,… hoàn toàn giống các hàm của C
mà ta đã được làm quen trong các môn học tại trường Ngoài ra vì phải làm việc với các module ngoại vi khác nên ta cần phải sử dụng một số hàm khác mà mỗi module đã cung cấp sẵn gọi là các API(Application Programming Interface) của các module Để biết mỗi module cung cấp bao nhiêu API, khai báo và sử dụng các API như thế nào thì trong phần Datasheet của mỗi module có mô tả rất chi tiết Đề minh họa cách xây dựng ứng dụng
trong phần Application ta sẽ xem xét ví dụ xây dựng Project hiển thị lên màn hình LCD
giá trị lấy mẫu của bộ ADC Sau khi thiết kế phần cứng bằng việc lựa chọn và cài đặt các
module trong phần Device Editor Ta bắt đầu xậy dựng ứng dụng như sau: