Sau khi đã có được các đại lượng thi vi điều khiển sẽ thu thập số liệu trên và tính toán phù hợp để hiển thị trên màn hình khối lượng mong muốn và gửitín hiệu đến 2 van điều khiển cho ph
Trang 1PHẦN I:GIỚI THIỆU ĐỀ TÀI
1. Ý nghĩa của đề tài
Hiện nay, kỹ thuật điện, điện tử trên thế giới đang phát triển rất mạnh mẽ.Các thành tựu của kỹ thuật đã thúc đẩy sản xuất phát triển theo xu hướng tựđộng hóa cao
Công nghệ cân đóng bao cũng được hưởng các thành quả đó Việc dựng hệthống cân chủ yếu dựa trên kết cấu cơ khí, độ ch
ính xác không cao, năng xuất lao động thấp, nhưng giá thành đầu tư thấp,phù hợp với quy mô sản xuất nhỏ, khi mà năng suất còn thấp
Cân đóng bao tự động là một trong những đề tài ứng dụng kĩ thuật đolường,hiển thị và điều khiển dùng vi xử lý nhằm đáp ứng tốt hơn cho nhu cầusản xuất và đây cũng là đề tài mà em chộn làm đồ án
2. Nhiệm vụ và chức năng của đề tài
Như vậy nhiệm vụ của đề tài là dùng cảm biến load cell (một thiết bị đolường để chuyển đổi khối lượng thành tín hiệu điện áp) đo khối lượng nguyênliệu đặt và chuyển đổi thành điện áp sau đó qua bộ chuyển đổi tín hiệu A/Dvàđưa về bộ xử lý gắn chip PSOC có sẵn chương trình rồi hiển thị trên màn hìnhLCD
Sau khi đã có được các đại lượng thi vi điều khiển sẽ thu thập số liệu trên
và tính toán phù hợp để hiển thị trên màn hình khối lượng mong muốn và gửitín hiệu đến 2 van điều khiển cho phép xả hoặc ngưng xả nguyên liệu xuốngbao
Sơ đồ tổng quát của hệ hống cân đóng bao tự động
Hình 1.1: Sơ đồ tổng quát hệ thống cân đóng bao tự động
PHẦN II: NỘI DUNG
Hiển thịMạch đầu cân
A/D
Bộ xử lýLoad cell
Trang 2CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG CÂN ĐÓNG BAO TỰ ĐỘNG
1.1 Thuyết minh công nghệ
Công nghệ điện, điện tử, mà trọng tâm là kĩ thuật vi xử lý, vi điều khiểnphát triển, đã giải quyết các bài toán kĩ thuật vừa đảm bảo độ chính xác, nângcao năng xuất lao động Thiết bị nhỏ gọn, bảo hành bảo dưỡng dễ dàng, thuậttiện Các thiết bị này được sản xuất theo tiêu chuẩn công nghiệp về tuổi thọ,
độ chống thấm, chống ẩm, kháng nhiễu Hơn nữa, thiết bị được sản xuất theotiêu chuẩn về điện (các thông số nguồn cấp, tín hiệu đầu vào, đầu ra…) nênthuận tiện trong việc lựa chọn các thiết bị của các hãng khác nhau trong việctích hợp một giải pháp công nghệ hoàn chỉnh, phù hợp với khả năng đầu tưcủa nhà máy mà vẫn đảm bảo được yêu cầu sản xuất
Sơ đồ khối của một hệ thống cân điện tử dùng loadcell như sau:
Hình 1.2: Sơ đồ khối của hệ thống cân điện tử dùng loadcell
Tùy theo yêu câu và mục đích ứng dụng, khối xử lý được dùng là vi
xử lý hay máy tính Nếu bộ xử lý sử dụng vi xử lý thì có thể có thêm khốitruyền dữ liệu về máy tính, có thể có khối in ấn hoặc không tuỳ mục đích
sử dụng
Dưới tác dụng của khối lượng đặt bên trên, loadcell sẽ chuyển thànhtín hiệu điện ở ngõ ra Tín hiệu điện rất nhỏ này được khuếch đại lên nhiềulần trước khi đưa vào bộ chuyển đổi A/D để chuyển thành tín hiệu số vàđược đưa về bộ xử lý để xử lý theo chương trình có sẵn và hiển thị hoặc cóthêm việc in ấn Bộ xử lý cần thiết phải có thêm bộ nhớ để lưu trữ số liệu,
ví dụ trong việc chỉnh 0 và trừ bì của cân
Trang 31.2 Một số ứng dụng phổ biến
Do tính linh hoạt của bộ xử lý, tuỳ theo mục đích cụ thể mà chươngtrình viết cho bộ xử lý khác nhau Do đó, hệ thống cân này có thể ứng dụngtrong nhiều lĩnh vực có liên quan đến việc đo khối lượng Ngoài ứng dụngtrong việc cân, có thể kể ra các ví dụ khác mà dùng hệ thống cân điện tử sửdụng loadcell như sau:
Hình 1.3: Một số loại cân điện tử trong siêu thị
Trong hệ thống bán hàng có sử dụng cân điện tử loại này, việc tínhtiền có thể được tự động hoàn toàn Hàng ở đây là những loại có thể cânđược, có thể là rau quả, thủy sản Người sử dụng nhập vào bàn phím giá
cả của một đơn vị cân và giá cả này có thể hiển thị ra màn hình hoặc Led 7đoạn Khi người dùng nhấn nút tính tiền trên bàn phím, bộ xử lý sẽ nhângiá trị cân được với giá của một đơn vị cân này và hiển thị ra giá cả đãđược tính toán cho số hàng ấy Sau khi để giá này hiển thị một khoảng thờigian vừa đủ cho người dùng đọc nó, hệ thống cân có thể sẽ hiển thị lại giátrị cân được Giá tiền này có thể được lưu lại và nếu được nối đến máy tínhcủa quầy thu tiền, khách hàng có thể nhận được bản báo cáo bao gồm trọnglượng cân được, giá cả của một đơn vị cân và tổng số tiền phải trả cho sốhàng đó
Cân cũng là một trong những biện pháp để phát hiện ra sản phẩmtrong hệ thống đếm tự động Khi phát hiện có khối lượng quy định thì mớiđếm Điều này sẽ tránh được việc đếm sai nếu cùng một lúc có hai sảnphẩm hoặc vật thể khác không phải là sản phẩm che cảm biến quang
Một ứng dụng khác của hệ thống cân này có thể kể ra là dùng trongbưu điện Sau khi cân kiện hàng và xác định nơi cần gởi Ngõ ra của hệthống cân này thường được nối đến hệ thống in bưu phí lên nhãn dán vàokiện hàng gởi đi
Ngoài ra ứng dụng phổ biến của cân điện tử đã được sử dụng nhiềutrong các nhà máy ở nước ta là dùng trong việc đóng gói sản phẩm Ngườidùng có thể nhập vào khối lượng cho một gói hàng hay bao gạo… khi đạt
Trang 4đến giá trị quy định này, ngõ ra của bộ xử lý có thể được dùng để điềukhiển việc rót hàng hay dây chuyền để đóng gói sản phẩm,có thể là bằngcách kích các relay để làm đóng, mở các valve selenoid dùng khí nén
Hình 1.4: Một số loại cân đóng bao tự động
Điều quan trọng trong các ứng dụng này là chương trình điều khiểnviết cho bộ xử lý và cách giao tiếp với các thiết bị bên ngoài Phần này thìkhác nhau đối với các ứng dụng cụ thể khác nhau
CHƯƠNG II: CƠ SỞ LÝ THUYẾT PHỤC VỤ ĐỀ TÀI
2.1 Hệ thống cân đóng bao tự động
2.1.1 Khái quát chung về lý thuyết điều khiển tự động
Trang 5Hệ thống điều khiển: tập hợp các linh kiện,thiết bị máy móc theo một
trình tự cần thiết để thực hiện một nhiệm vụ điều khiển
Hệ thống điều khiển tự động: trong hệ thống điều khiển quá trình điều
khiển được thực hiện mà mà không có sự tham gia trực tiếp của con người
Sơ đồ khối: là sơ đồ trình bày các phần tử , cơ cấu hệ thống dưới dạng
các ô vuông trên đó có ghi tên gọi phần tử, cơ cấu đó (hoặc nhóm các phần
tử ,cơ cấu :thí dụ bộ khuếch đại điện tử , động cơ ,cảm biến ,máy côngtác…)và mối liên hệ giữa các phần tử dưới dạng mũi tên chỉ truyền tín hiệu
trong hệ thống.Sơ đồ khối cho phép hình dung khái quát về nguyên lý làm
việc và kết cấu của hệ thống điều khiển
Bất cứ một hệ thống điều khiển nào cũng có thể mô tả dưới dạng sơ đồ
khái quát như sau:
Hệ thống điều khiển Nhiễu f(t)
Nhiệm vụ tác động Kết quả
Điều khiển điều khiển điều khiển
Lượng ra y(t)
Hình 2.1: Sơ đồ khối khái quát hệ thống điều khiển tự động
Hệ thống điều khiển bao giờ cũng có hai khối chính:
Đối tượng điều khiển (ĐTĐK) (plant hoặc object) là thiết bị kĩ thuật mà
trong đó xảy ra quá trình cần điều khiển Trong đề tài này đối tượng cần điều khiển ở đây chính là các van khí nén số 1 và số 2 sao cho khối lượng nguyên
liệu cần đóng gói đúng với khối lượng đã được đặt
Thiết bị hay cơ cấu điều khiển (CCĐK) đôi khi còn gọi là bộ điều
khiển (controller) là tập hợp các thành phần còn lại của hệ thống có nhiệm vụ
thực hiện quá trình điều khiển CCĐK tạo ra tác động điều khiển tác động
trực tiếp lên ĐTĐK để đảm bảo quá trình điều khiển xảy ra theo quy luậtmong muốn
Đối với một hệ thống điều khiển bao giờ cũng có thể chỉ ra đầu vào hoặc đầu ra của hệ Ở đầu vào có đặt tín hiệu vào hay lượng vào của hệ Về
mặt toán học lượng vào là một hàm biến đổi theo thời gian và được kí hiệu là
x(t) Lượng vào của một hệ thống điều khiển tự động đặc trưng cho nhiệm vụ
điều khiển chứa thông tin về mục đích điều khiển tức là quy luật mà hệ thống
ĐKTĐ cần duy trì ở đầu ra của nó Ở đầu ra của hệ có tín hiệu ra hay lượng
ĐTĐKCCĐK
Trang 6ra của hệ và về mặt toán học cũng là một hàm biến đổi theo thời gian được kí
hiệu là y(t) Lượng ra chính là kết quả điều khiển trong hệ thống ĐKTĐ Nó biểu thị đại lượng vật lý cần duy trì nên còn có một tên gọi khác là đại lượng
cần điều khiển
Tác động nhiễu loạn (disturbance) ký hiệu là f(t) là tác động gây ra sự
sai lệch của kết quả điều khiển tức là làm cho kết quả điều khiển (lượng ra)thay đôi không theo quy luật mong muốn Nhiễu loạn có thể là có bản chất vật
lý bất kỳ:cơ, điện ,nhiễu tạp vô tuyến âm thanh, quang v.v… và phụ huộcvào kết cấu phạm vi ứng dụng của hệ thống ĐKTĐ
Hình 2.2: sơ đồ khối hệ thống cân đóng bao tự động.
Các khối trong sơ đồ:
1. Hệ thống cấp nhiên liệu vào bao gồm:
5. Bàn phím điều khiển và màn hình LCD hiển thị
2.1.2 Hệ thống cân đóng bao gồm các thiết bị chính:
1. Bộ điều khiển
Trang 7a) Bộ điều khiển (Weight Controller), lấy tín hiệu cân từ cảm biến trọnglượng, xử lí dữ liệu theo thuật toán điều khiển lập trình phù hợp vớicông nghệ cân đóng bao.
b) Bộ điều khiển hiển thị thông tin trọng lượng cân
2. Cảm biến trọng lượng
Cảm biến trọng lượng(loadcell) chuyển tín hiệu trọng lực thànhtín hiệu điện áp đưa về bộ điều khiển trung tâm
3. Cơ cấu thừa hành
a) Cơ cấu thừa hành lấy tín hiệu điều khiển từ bộ điều khiển, từ ngườivận hành (tín hiệu điều khiển thường có điện áp thấp, công suất làmviệc nhỏ) ra lệnh cho cơ cấu chấp hành
b) Cơ cấu thừa hành là các thiết bị đóng ngắt, dây dẫn các tín hiệu điềukhiển
4. Cơ cấu chấp hành
Gồm các van khí nén, động cơ…
5. Các thiết bị chính
a) Các thiết bị điều khiển gồm :
(1) Bộ điều khiển số lượng kg cần đóng bao
(2) Các thiết bị thừ hành: công tắc, bàn phím,màn hình hiển thị(LCD)
b) Các thiết bị được lắp đặt trên khung cân đóng bao:
(1) 03 cảm biến trọng lượng (loadcell) 150 kg
(2) 02 van mở cửa xả nguyễn liệu
2.1.3 Sơ đồ cấu trúc hệ thống điều khiển cân đóng bao tự động
2.3.1 Định nghĩa về sơ đồ cấu trúc:
Sơ đồ cấu trúc được thành lập dựa trên cơ sở sơ khối hay sơ đồ chức
năng của hệ thống ĐKTĐ,trong đó mỗi phần tử của hệ thống được biểudiễn bằng một khâu động học định hướng
Trang 8Hình 2.3: Sơ đồ cấu trúc hệ thống cân đóng bao tự động.
2.1.4 Trình tự vận hành hệ thống:
Người vận hành sau khi đưa vỏ bao vào cửa xả liệu, ấn nút để hệ nútbấm, tác động đóng van kẹp bao, mở van cửa xả liệu Đồng thời, động cơbơm nguyên liêu hoạt động Vật liệu được đóng vào bao Cảm biến lực cảmnhận sự thay đổi của trọng lực Khi đến giá trị trọng lượng đặt, bộ điều khiểntính toán và tác động ngừng các van, động cơ bơm.Quá trình lặp lại liên tụcđến khi có tín hiệu dừng lại
2.1.5 Nguyễn lý điều khiển cân đóng bao
Nguyên lý điều khiển cân đóng bao dựa trên nguyên lý hoạt độngchung của hệ thống điều khiển tự động cơ bản:
X Y(bàn phím) (MP) ( van khí nén ) ( LCD )
Hình 2.4:Sơ đồ nguyên lý hoạt động chung của cân đóng bao
MP(CPV) nhận tín hiệu về số lượng cần đóng từ bàn phím sẽ điềukhiển van khí nén mở ra để cấp nguyên liệu vào bao Hệ thống van gồm haivan khí nén 1 và van khí nén 2
CCCHCCĐK
Trang 9• Van khí nén 1: Được thiết kế để cấp nhiều nguyên liệu dùng làm van xảchính.
• Van khí nén 2: Được thiết kế được cấp ít nguyên liệu hơn van 1
Ban đầu van số 1 sẽ mở ra hết để cấp nguyễn liệu đầu vào khi bàncân đo được khối lượng gần bằng mức yêu cầu thì cảm biến loadcell trongbàn cân sẽ qua bộ chuyển đổi ADC gửi tín hiệu về MP Sau đó MP sẽ ra lệnhcho van số 1 đóng lại Van số 2 sẽ cấp nguyên liệu đúng gần bằng khối lượngyêu cầu thì loadcell trong cân sẽ gửi tín hiệu về MP để ra lệnh dừng van số 2
Kết thúc quá trình đóng 1 bao Màn hình sẽ hiển thị số lượng baođược đóng gói và khối lượng được bao nhiêu
Bộ điều khiển cân đóng bao được tích hợp các đầu vào ra
• Đầu đo cảm biến trọng lực : nhận tín hiệu từ cảm biến trọng lực
• Đầu ra điều khiển : các đầu ra điều khiển dạng tín hiệu số (mức logic 0-1),được điều khiển theo các mức dưới đây
Bộ điều khiển cân đóng bao được tích hợp thuật toán để điều khiển cácđầu ra số:
Hình 2.5:Lưu đồ thuật toán tính khối lượng cân
• Đầu ra 1, 2, 3, 4 thông báo trạng thái của quá trình xả cân Thông sốtrọng lượng tăng dần Đến một mức nào đó (cài đặt trước), đầu cân sẽtác động các đầu ra số để điều khiển quá trình đóng mở van, động cơbơm
• Bộ điều khiển cân đóng bao cho phép cài đặt, tính toán lượng rơi tự do,
để đảm bảo độ chính sác của hệ thống
Trang 10CHƯƠNG 3: LỰA CHỌN LINH KIỆN
3.1 GIỚI THIỆU KHÁI QUÁT VỀ LOAD CELL (Cảm biến trọng lượng)
Hình 3.1: Hoạt động của load cell
Trong từ điển, một loadcell được định nghĩa như là một "thiết bị đo lườngtrọng lượng cần thiết để cân điện tử hiển thị trọng lượng thành con số"
Tín hiệu điện tử ngõ ra của loadcell có thể là một sự thay đổi điện áp, thayđổi tín hiệu dòng, tín hiệu số hoặc thay đổi tần số tùy thuộc vào loại loadcell
và mạch sử dụng, phổ biến nhất là loadcell thay đổi điện áp
Các loadcell có thể sử dụng điện trở (strain gauge), điện dung, kỹ thuật bùlực điện từ Phổ biến nhất là các loadcell có sẵn dựa trên nguyên tắc thay đổiđiện trở để đáp ứng với một tải áp dụng
Vì thế ở đây, ta sẽ nói về loadcell sử dụng điện trở (strain gauge)
Trang 11Hình 3.2: Sơ đồ nguyên lý của load cell
Loadcell thường được sử dụng để cảm ứng các lực lớn, tĩnh hay các lựcbiến thiên chậm.Một số trường hợp loadcell được thiết kế để đo lực tác độngmạnh phụ thuộc vào thiết kế của Loadcell
3.1.2 Các thành phần của một loadcell.
Một loadcell thường bao gồm các strain gauges được gán vào bề mặt thâncủa loadcell Thân loadcell là một khối kim loại đàn hồi và tùy theo từng loạiloadcell và mực đích sử dụng loadcell, thân loadcell được thiết kế có hìnhdạng đặc biệt khác nhau và chế tạo bằng vật liệu kim loại khác nhau (nhômhợp kim, thép không gỉ, thép hợp kim)
Hình 3.3: Cấu tạo của Strain gauge Vậy Strain gauge là gì?
- Strain gauge là thành phần cấu tạo chính của loadcell, nó bao gồm mộtsợi dây kim loại mảnh đặt trên một tấm cách điện đàn hồi
- Để tăng chiều dài của dây điện trở strain gauge, người ta đặt chúng theohình ziczac, mục đích là để tăng độ biến dạng khi bị lực tác dụng qua
đó tăng độ chính xác của thiết bị cảm biến sử dụng strain gauge :
Trang 12Hình 3.4: Cấu trúc strain gauge
R = Điện trở strain gauge (Ohm)
L = Chiều dài của sợi kim loại strain gauge (m)
A = Tiết diện của sợi kim loại strain gauge (m2)
r= Điện trở suất vật liệu của sợi kim loại strain gauge
Khi dây kim loại bị lực tác động sẽ thay đổi điện trở
Khi dây bị lực nén, chiều dài strain gauge giảm, điện trở sẽ giảm xuống
Khi dây bi kéo dãn, chiều dài strain gauge tăng, điện trở sẽ tăng lênĐiện trở thay đổi tỷ lệ với lực tác động
Hình 3.5: Sự thay đổi điện trở khi có lực tác động.
Hầu hết các nhà sản xuất strain gauge cung cấp nhiều loại strain gaugekhác nhau để phù hợp với các sản phẩm loadcell khác nhau, các ứng dụngtrong nghiên cứu và công nghiệp dự án khác nhau
Hình 3.6: Sơ đồ mạch in strain gauge
Họ cũng cung cấp tất cả các phụ kiện cần thiết bao gồm công cụ chuẩn
bị vật liệu chất kết dính liên kết, cáp…
Công việc gắn kết các strain gauge đòi hỏi kỹ năng, sự tỉ mỉ, cẩn thận
và các khóa đào tạo kỹ năng này được cung cấp bởi một số nhà cung cấp nhấtđịnh
Trang 133.1.3 Thông số kĩ thuật cơ bản
- Độ chính xác: cho biết phần trăm chính xác trong phép đo Độ chính
xác phụ thuộc tính chất phi tuyến tính, độ trễ, độ lặp
- Công suất định mức: giá trị khối lượng lớn nhất mà Loadcell có thể đo
được
- Dải bù nhiệt độ: là khoảng nhiệt độ mà đầu ra Loadcell được bù vào,
nếu nằm ngoài khoảng này, đầu ra không được đảm bảo thực hiện theođúng chi tiết kĩ thuật được đưa ra
- Cấp bảo vệ: được đánh giá theo thang đo IP, (ví dụ: IP65: chống được
- Độ trễ:hiện tượng trễ khi hiển thị kết quả dẫn tới sai số trong kết quả.
Thường được đưa ra dưới dạng % của tải trọng
- Trở kháng đầu vào: trở kháng được xác định thông qua S- và S+
khi Loadcell chưa kết nối vào hệ thống hoặc ở chế độ không tải.
- Điện trở cách điện: thông thường đo tại dòng DC 50V Giá trị cách
điện giữa lớp vỏ kim loại của Loadcell và thiết bị kết nối dòng điện.
- Phá hủy cơ học: giá trị tải trọng mà Loadcell có thể bị phá vỡ hoặc
biến dạng
- Giá trị ra: kết quả đo được (đơn vị: mV).
- Trở kháng đầu ra: cho dưới dạng trở kháng được đo giữa Ex+ và
EX-trong điều kiện load cell chưa kết nối hoặc hoạt động ở chế độ khôngtải
- Quá tải an toàn: là công suất mà Loadcell có thể vượt quá (ví dụ:
125% công suất)
- Hệ số tác động của nhiệt độ: Đại lượng được đo ở chế độ có tải, là sự
thay đổi công suất của Loadcell dưới sự thay đổi nhiệt độ, (ví dụ:
0.01%/10°C nghĩa là nếu nhiệt dộ tăng thêm 10°C thì công suất đầy tải
của Loadcell tăng thêm 0.01%).
- Hệ số tác động của nhiệt độ tại điểm 0: giống như trên nhưng đo ở chế
độ không tải
3.1.4 Một số loại loadcell thường dùng
- Loadcell thanh (uốn đơn)
- Loadcell điểm đơn
- Loadcell uốn kép (loadcell bi)
- Loadcell trụ nén
- Loadcell chữ Z
- Loadcell trụ dẹp
- Loadcell số (digital loadcell)
- Loadcell cho các ứng dụng đặc biệt khác
Trang 14Hình 3.7: Phân loại loadcell
Tuy nhiên, điều quan trọng là sử dụng các loadcell với mức cân và kết cấuphù hợp với vị trí mà nó sẽ được lắp đặt
3.1.5 Quan hệ giữa khối lượng và tín hiệu ra của load cell.
Lực tác động của vật này truyền lên vật khác và tryền gia tốc cho vật mà
nó tác động.Lực này được tính bằng công thức F = m
Trọng lực là lực gây ra bởi sức hút của trái đất lên vật được tính bằng côngthức W = mg
Trong đó:
là gia tốc của vật, đơn vị là m/s2
g là gia tốc trọng trường ( ≈9.80655 m/s2)
F là lực tác động lên vật gây nên gia tốc đơn vị là Newton (N)
M là khối lượng của vật, đơn vị là Kg
Trang 15• Biến dạng: đo biến dạng của một lực dưới tác dụng của lực (straingage, điện áp).
• Di chuyển: đo sự di chuyển của vật suy ra lực
• Gia tốc: đo gia tốc suy ra lực Strain gage hoạt động dựa trên sự thayđổi điện trở khi biến dạng :
Trong đó:
là điện trở suất(Ω)
ℓ là chiều dài (m)
S tiết diện dây(m)
D đường kính dây(m)
Trang 16Hình 3.8: Sơ đồ nguyên lý hoạt động loadcell
Điện trở tương đương trong nhìn từ AB là:
Như vậy áp ra vẫn tỷ lệ với R
Nếu nối song song đầu ra của load cell,giả sử có 3 load cell ta có:
V∑ = (k1 + k2+ k3) (R1 // R2 // R3) (V)Nếu các load cell giống nhau:
Điện áp ra là trung bình cộng áp ra của load cell
Sơ đồ kết nối của 3 load cell
Trang 17Hình 3.9: Sơ đồ kết nối loadcell và ADS1230
3.2 Họ vi điều khiển PSOC và dòng 8C29466
3.2.1 Giới thiệu về họ vi điều khiển PSOC
PSOC là một từ viết tắt của cụm từ tiếng anh Programmable System OnChip, nghĩa là hệ hệ thống khả trình trên một chip.Các chip chế tạo theo côngnghệ Psoc cho phép thay đổi được cấu hình đơn giản bằng cách gán chứcnăng cho các khối tài nguyên có sẵn trên chip.Hơn nữa nó còn có thể kết nốitương đối mềm dẻo các khối chức năng với nhau hoặc giữa các khối chứcnăng với cổng vào ra.Chính vì vậy mà Psoc có thể thay thế cho rất nhiều chứcnăng nền của một số hệ thống cơ bản chỉ bằng một đơn chip
Thành phần chính của chip Psoc bao gồm các khối ngoại vi số và tươ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ớ Ram khá lớn.Để lập trình hệ thống,người sửdung được cung cấp một phần mềm lập trình,ví dụ như cho các chip Psoc củaCypress người lập trình phải có PSOC designer.Ngoài ra để cài được chươngtrình điều khiển vào chip thì người lập tình phải có một Kit phát triển do hãngchế tạo chip cung cấp.Phần mềm thiết kế được xây dựng trên cơ sở hướng đốitượng với cấu trúc module hóa.Mỗi khối chức năng là một module mềm.Việc lập cấu hình cho chip như thế nào là tùy thuộc vào người lập trìnhthô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 chipchỉ đơn giản bằng cách muốn chip có những chức năng gì thì kéo chức năng
đó và thả vào khối tài nguyên số hoặc tương tự,hoặc cả 2 tùy theo từng chứcnăng.Việc thiết lập ngắt trên chân nào,loại ngắt gì,các chân vào ra được hoạ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ìnhkhi thiế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ị diều khiển, đo lường có thể được gói gọn trên một chip duy
Trang 18nhất.Chính vì lý do đó,hãng Cyress Microsystem gọi thiết bị của mình là
“thiết bị Psoc”,và 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 tới nay
• Bộ vi sử lý với cấu trúc Harvard
- Tốc độ vi xử lý lên đến24MHz
- Lệnh nhân8bitx8bit,thanhghitích kuyx là32bit
- 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.0tới5.25V
- Điện áp hoạt động có thể giảm xuống 1.0V xử dụng chế độ kích điệnáp
- Hoạt động trong dải nhiệt độ -400Cđến 850C
• Khối ngoại vi có thể sử dụng độc lập hoặc kết hợp
- 12 khối ngoại vi có thể được thiết lập để làm 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đại
Các bộ lọc và các bộ so sánh có thể lập trình được
- 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ựu kiện, đồng hồ đothời gian thực, bộ điều chế độ rộng xung có và không códải an toàn (deadband)
Các module kiểm tra lỗi (CRC modules)
Hai bộ truyền thông nối tiếp không đồng bộ hai chiều
Các bộ truyền thông SPI Master hoặc Slave có thể cấuhình được
Có thể kết nối với các chân vào ra
• Bộ nhớ linh hoạt trên chip
- Không gian bộ nhớ chương trình Flash từ 4K đến 16K phụ thuộcvào từng loại chip với chu kỳ ghi xóa cho bộ nhớ Flash là 50.000lần
- Không gian bộ nhớ Ram là 256 byte
- Chip có thể lập trình toong qua chuẩn nối tiếp (ISSP)
- Bộ nhớ Flash có thể nâng cấp từng phần
- Chế độ bảo mật đa năng, tin cậy
- Có thể tọa không gian bộ nhớ Flash trên chip lên tới 2.304 byte
• Có thể lập trình cho từng chân của chip
- 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 caohoặc thấp bên trong
- Thay đổi ngắt trên từng chân
Trang 19- Đường ra tương tự có thể cung cấp dòng tới 40mA.
- Đường ra chức năng có từ 6 đến 44 tùy thuộc vào từng loại chip
• Xung nhịp chip có thể lập trình được
- Bộ tạo dao động 24/48 MHZ ở 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ộ doa độ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 có sử dụng cho Wachdog
và Sleep
• Ngoại vi được thiết lập sẵn
- Bộ định thời Wachdog và Sleep phục vụ chế độ an toàn và chế
- 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
Hệ thống số bao gồm 16 khối số PSOC.Mỗi khối là một hệ thống 8 bits cóthể sử dụng một mình hoặc kết hợp với các khối khác để tạo thành nhữngthiết bị ngoại vi 8,16,24 và 24 bits,được gọi là module người dùng
Cấu hình ngoại vi số bao gồm:
- PWM 8-32 bits
- Các bộ định thời(timers) 8-32 bits
- Các bộ đếm(counters) 8-32 bits
- Các bộ truyền thông SPI và Slave
- Bộ điều chế xung độ rộng xung có và không có dải an toàn(deadband)8-24 bits
- Bộ phát PRS 8-32 bits
Tất cả các khối PSOC số đều có thể cấu hình để thực hiện bất cứ mộtchức năng nào trong 5 chức năng sau:bộ định thời,bộ đếm,bộ điều chế độrộng xung,PRS,kiểm tra chu kỳ thừa(CRC).Những chức năng này được sửdụng bằng cách cấu hình một khối PSOC độc lập hay một chuỗi vài khốiPSOC liền nhau để thực hiện chức năng lớn hơn 8 bits.Các khối PSOC sốtruyền thông có thêm 2 chức năng nữa đó là:SPI chủ-tớ hay truyền thôngkhông đồng bộ 2 chiều
Mỗi một chức năng của khối PSOC số đều độc lập với các khối chứcnăng khác.Có tới 7 thanh ghi được sử dụng để quyết định chức năng và trạngthái của khối PSOC.Những thanh ghi này được đưa ra ở bảng.Các thanh ghichức năng của khối số luôn kết thúc với chữ FN, tên của những thanh ghi đầu
Trang 20vào luôn luôn kết thúc với chữ IN và cuối cùng tên của thanh ghi đầu ra luônluôn kết thúc với chữ OU.
3.2.2 Bộ vi xử lý CPU
Các họ chip của PSoc dựa trên bộ vi xử lý mạnh mẽ 8 bit với cấu trúcHarvard (Cấu trúc Harvard là cấu trúc mà bus dữ liệu,bus địa chỉ và tín hiệuđiều khiển cảu bộ nhớ chương trình và bộ nhớ dữ liệu độc lập nhau) Nó có 5thanh ghi điều khiển hoạt động chính của CPU.Những thanh ghi này bị tácđộng bởi những lệnh khác nhau.Người sử dụng không thể truy cập trực tiếpvào các thanh ghi này thông qua không gian bộ nhớ các thanh ghi.Các thanhghi của CPU được cho trong bảng sau:
Program counter(thanh ghi đếm chương trình CPU_PC
Stack Pointer (thanh ghi con trỏ Stack) CPU_SP
Bảng 1.1: Các thanh ghi của CPU
Bộ đếm chương trình là 1 thanh ghi 16 bit (CPU_PC),nó cho phép người lập trình truy cập trực tiếp vào toàn bộ không gian bộ nhớ chương trình trên chip
Thanh ghi chứa (Accumulator) là một thanh ghi đa mục đích,nó thườngđược sử dụng để lưu giữ kết quả của bất cứ một lệnh nào sử dụng cạ chế độđiạ chỉ nguồn
Thanh ghi chỉ số được dùng để lưu giữu giá trị Offset (độ lệch) trongchế độ địa chỉ chỉ số.Tiêu biểu là nó được dùng để địa chỉ một khối dữ liệubên trong không gian nhớ dữ liệu
Thanh ghi con trỏ Stack lưu giữ địa chỉ của đỉnh Stack trong khônggian nhớ dữ liệu.Nó bị tác động bởi những lện như PUSH, POP, LCALL,RETI, RET Nói chung là tất cả những lệnh có liên quan đến Stack của phầnmềm.Nó cũng có thể bị ảnh hưởng bởi lệnh SWAP và lệnh ADD
Thanh ghi cờ(Flags) có 3 bit trạng thái: bit cờ không-Zero Flag bit[1],bit cờ nhớ-Carry Flag bit[2], bit Supervisory State[3], bit cho phép ngắt toàncục-Global Interrupt enable bit[0] được dùng để cho phép hoặc cấm toàn bộcác ngắt.Các cờ trên bị ảnh hưởng bởi những lênh toán học,những lệnhlogic…
• Thanh ghi củaCPU
Trang 21Read/Write RW R RW RW RW Bit name Reseved Reseved Reseved XIO Super Cary Zero Global
IE Bit7:Reserved(chưa được định nghĩa)
0 = No Carry (không có nhớ) 1 = Carry (có nhớ)
Bit1: Zero - bởi CPU để chỉ rõ toán tử trong phép toán logic hoặc toán học trước đó có bằng 0 hay không.
0 = Not Equal to Zero (không bằng 0) 1 = Equal to Zero (bằng không)
[7]
Data [6]
Data [5]
Data [4]
Data [3]
Data [2]
Data [1]
Data [0] Bit[7:0]: 8bit dữ liệu lưu kết quả của bất cứ một lẹnh toán học/logic sử dụng chế độ địa chỉ nguồn.
Bảng 1.3: Thanh ghi chứa (CPU_A)
POR (Power on reset): trạng thái của bit sau khi reset nguồn System1 : do
hệ thống điều chỉnh người dùng không thể thay đổi trực tiếp giá trị của những bit này
[7]
Data [6]
Data [5]
Data [4]
Data [3]
Data [2]
Data [1]
Data [0] Bit[7:0] : 8 bit dữ liệu lưu giữ chỉ số cho bất cứ một lệnh nào sử dụng chế độ địa chỉ
Bảng 1.4: Thanh ghi chỉ số (CPU_X)
• Thanh ghi con trỏStack
Trang 22Bit name Data
[7]
Data [6]
Data [5]
Data [4]
Data [3]
Data [2]
Data [1]
Data [0] Bit[7:0] : 8 bit dữ liệu lưu giữ giá trị con trỏ stack hiện thời
Bảng 1.5: Thanh ghi con trỏ Stack (CPU_SP)
Bit[15:0]: 16 bit dữ liệu là byte thấp và byte cao của bộ đếm chương trình
Bảng 1.7: Thanh ghibộ đếm chương trình (CPU_PC)Cấu trúc liên kết của CPU
với bộ nhớ
Trang 23Hình 3.10: Cấu trúc liên kết của CPU với bộ nhớ
• Định dạng của lệnh
o Lệnh 1 byte
Lệnh 1 byte là lệnh khôn dùng địa chỉ hay dữ liệu như toán hạng, lệnh
1 byte sử dụng 1 mã lệnh (ví dụ: RET, SR, INC,DEC…)
Byte 08-bit
Bảng 1.8: Dạng lệnh 1 byte
o Lệnh 2 byte
Lệnh 2 byte là lệnh duy nhất một toán hạng là dữ liệu hay địa chỉ.Lệnh
2 byte sử dụng byte đầu tiên để chứa mã lệnh,byte thứ 2 để chứa dữ liệu hoặcđịa chỉ.Hoặc nó sử dụng 4 bit đầu cho mã lệnh và 12 bit sau cho địa chỉ
4-bit opcode 12-bit relative8-bit opcode 8-bit data8-bit opcode 8-bit address
Bảng 1.9:Dạng lệnh 2 byte
o Lệnh 3 byte
Trang 24Lệnh loại này sử dụng 3 byte bởi vì nó được sử dụng để di chuyển dữliệu giữa hai địa chỉ trong không gian địa chỉ mà người sử dụng có thể truycập.Hoặc nó dùng để lưu giữ một giá trị địa chỉ tuyệt đối 16 bit trong các lệnhLCALL và LJMP.
Bảng 1.10: Dạng lệnh 3 byte
3.2.3 Ngắt và bộ điều khiển ngắt
Bảng 1.11:Các thanh ghi của bộ điều khiển ngắt
Bộ điều khiển ngắt cho phép một đoạn mã của người lập trình đượcthực hiện mỗi khi có một ngắt sinh ra từ các khối chức năng trong chipPsoc.Mỗi một khối số có một ngắt riêng và mỗi cột khối tương tự cũng cómột ngắt riêng.Mỗi một ngắt cho nguồn cấp,chế độ ngủ,xung nhịp thay đổi vàmột ngắt toàn cục cho các chân vào ra đa chức năng
Bộ điều kiển ngắt cúng với các thanh ghi của nó cho phép ngắt có thể
bị vô hiệu hóa đồng thời hoặc độc lập với nhau
Các thanh ghi cung cấp một cách thức để người sử dụng có thể xóa tất
cả những ngắt đang chờ và thông báo ngắt hoặc có thể xóa một cách độc lập hoặc riêng biệt thông báo ngắt và ngắt chờ
Trang 25Bảng 1.12: Bảng vector ngắt của CY8C27xxx
Mô tả cấInterrupt Source: Nguồn ngắt (bộ định thời các chân vào rachức năng…)
Interrupt Taken or INT_CLRx Write: thi hành ngắt hoặc xóa ngắt
• Cấu trúc cấu bộ điều khiển ngắt
Dãy các sự kiện xảy ra khi một ngắt được thi hành như sau:
- Khi một ngắt được kích hoạt, có thể là do một điều kiện ngắt được sinhra(do tràn bộ đếm chẳng hạn) và trước đó thông báo ngắt cho phép bởithanh ghi mặt nạ che ngắt,hoặc có một ngắt đang chờ được xử lý vàGIE( global interrupt enable- cho phép ngắt toàn cục) được đặt từ 0sang 1 trong thanh ghi cờ của CPU
Trang 26Hình 3.11:Sơ đồ khối của bộ điều khiển ngắt
- Lệnh thi hành hiện thời kết thúc ở biên giới lệnh (biên giới lệnh là thờiđiểm CPU chuyển tù lệnh nay sang lệnh khác)
- Thủ tục ngắt bên trong được thực hiện,tiêu tốn 13 chu kỳ máy.Trongkhoảng thời gian này thì CPU thực hiện những công việc sau:
o Lưu byte cao,byte thấp cảu bộ điếm chương trình (PCH và PCL) vàthanh ghi cờ(CPU_F) vào trong Stack theo thứ tự như trên
o Thanh ghi cờ được xóa trắng và từ đó bit GIE bị xóa về 0 và nhữngngắt mới sinh ra tạm thời bị cấm
o Byte cao của bộ đếm chương trình (PC[15:8]) được xóa về 0
o Vector ngắt được được đọc từ bộ điều khiển vector ngắt và giá trịcủa nó được đặt vào trong byte thấp cảu bộ đếm chương trình(PC[7:0]).Việc này sẽ đặt bộ đếm chương trình trỏ vào địa chỉ thích hợptrong bảng vector ngắt
o Chương trình sẽ thi hành vector trong bảng vector ngắt.Nhìn chungthì một lệnh LJMP trong bảng vector ngắt sẽ chuyển sự thi hành củaCPU tới trình phục vụ ngắt của người dùng để phục vụ cho ngắtnày
o Trình phục vụ ngắt kết thúc với lệnh RETI thì thanh ghicờ(CPU_F),byte thấp và byte cao cảu bộ đếm chương trình được lấy
ra khỏi Stack theo đúng trình tự như trên.Từ thanh ghi cờ (CPU_F)được khôi phục lại giá trị thì nó sẽ cho phép các ngắt
o Chương trình sẽ bắt đầu thi hành ở lệnh kế tiếp,ngay sau lệnh đượcthực hiện trước khi xảy ra ngắt.Tuy nhiên nếu có ngắt đang chờđược phục vụ thì nó sẽ được thực hiện trước
Trang 27• Các thanh ghi ngắt
Bảng 1.11 cho ta thấy một cái nhìn tổng quan về mối quan hệ của các
thanh ghi đối với hoạt động của bộ điều khiển ngắt vector.Chi tiết về sử dụngcác thanh ghi được trình bày sau đây
• Thanh ghi INT_CLRx
Có 3 thanh ghi xóa ngắt (INT_CLR0, INT_CLR1 và INT_CLR3) cóthể được quy vào tên gọi chung INT_CLRx.Những thanh ghi INT_CLRx làtương tự như những thanh ghi INT_MSKx nghĩa là chúng giữ một bit chomỗi nguồn ngắt.Tuy nhiên về mặt chức năng thì thanh ghi INT_VC mặc dùhoạt độn của chúng hoàn toàn độc lập với nhau.Khi một thanh ghi INT_CLRxđược đọc thì bất kỳ bit nào được đặt đều chỉ rõ là ngắt nào đã thông báo chotài nguyên phần cứng đó.Bởi vậy đọc những thanh ghi đó sẽ giúp cho người
sử dụng xác định được tất cả các thông báo ngắt
• Thanh ghi INT_MSKx
Có 3 thanh ghi mặt nạ che ngắt (INT_MSK0, INT_MSK1,INT_MSK3) có thể được quy vào thanh ghi có tên gọi chungINT_MSKx.Nếu được xóa thì mỗi bit trong thanh ghi sẽ ngăn chặn một ngắttương ứng với bit đó trở thành một ngắt chờ được xử lý (đầu vào của bộ mãhóa ưu tiên).Tuy nhiên một ngắt vẫn có thể được thông báo ngay cả khi bitmặt nạ của nó sẽ sinh là 0.Nghĩa tất cả các bit trong thanh ghi INT_CLRx đềuđộc lập với các bit trong thanh ghi INT_MSKx.Nếu 1 bit trong thanh ghiINT_MSKx được set=1 thì nguồn ngắt kết hợp với bit mặt nạ của nó sẽ sinh
ra một ngắt để trở thành ngắt chờ
• Thanh ghi INT_VC
Thanh ghi INT_VC thực hiện 2 nhiệm vụ.Khi thanh ghi được đọc thì
nó sẽ trả về giá trị của ngắt chờ có mức ưu tiên cao nhất
• Thanh ghi CPU_F
Chỉ có bit GIE trong thanh ghi CPU_F là có ảnh hưởng tới bộ điều khiểnngắt,bit này là bit cho phép ngắt toàn cục.Chỉ khi bit này được set thì CPUmới có thể thực hiện một ngắt chờ.Khi bit này được xóa thì CPU sẽ khôngthực hiện một ngắt chờ nào cả( cần lưu ý là một ngắt vẫn có thông báo và nếubit mặt nạ cho phép thì nó vẫn trở thành ngắt chờ mặc dù bit GIE = 0,nhưng
nó chỉ có thể được thực hiện khi bit GIE = 1).Bit GIE có giá trị mặc định =0.Để có thể đặt hoặc xóa bit GIE thì ta sử dụng các lệnh logic thanh ghi F vớigiá trị thích hợp
• Các cổng vào ra chức năng
Trang 28Cổng vào ra đa chức năng cung cấp cho CPU một giao diện với bênngoài.Chúng đòi hỏi một số lượng lớn thanh ghi cấu hình để hỗ trợ cho nhiềuchế độ hoạt động vao/ra bao gồm cả số và tương tự.
Bit5
Bit4
Bit3
Bit3
Bit1
Bit0
access0,xxh PRTxDR Dât Register (thanh ghi dữ liệu) RW:
000,xxh PRTxIE Bit Interrupt Enable(bit cho phép ngắt) RW:
000,xxh PRTxGS Global Select (lựa chon toàn cục) RW:
000,xxh PRTxDM
2
Driver Mode 2 (thanh ghi chế độ hoạt động) RW:
FF1,xxh PRTxDM
0
Driver Mode 0 (thanh ghi chế độ hoạt động) RW:
001,xxh PRTxDM
1
Driver Mode 1 (thanh ghi chế độ hoạt động) RW:
FF1,xxh PRTxIC0 Interrupt Control 0 (thanh ghi điều khiển) RW:
001,xxh PRTxIC1 Interrupt Control 1 (thanh ghi điều khiển) RW:
Mỗi một khối GPIO có thể được sử dụng cho những kiểu vào/rasau:
- Vào ra số(Vào ra số điều khiển bởi phần mềm)
- Vào ra toàn cục(Vào ra cho các khối Psoc số)
- Vào ra tương tự(Vào ra cho các khối Psoc tương tự)
Mỗi một chân vào ra đều có vài chế độ hoạt động cũng như là khảnăng tạo ngắt.Trong khi tất cả các chân đều được nối đường vào ra
Trang 29số thì một vài chân lại không được kết nối với chức năng vào ra củakhối tương tự hoặc bus toàn cục.
• Vào ra số
Một trong những chức năng hoạt động cơ bản của cổng vào ra đachức năng là cho phép CPU gửi thông tin ra ngoài chip và lấy thôngtin từ bên ngoài vào.Điều này được thực hiện nhờ thanh ghi dữ liệucổng(Port Data Register- PRTxDR).Việc viết dữ liệu vào thanh ghiPRTxDR sẽ lưu lại trạng thái dữ liệu,mỗi bit cho một chânGPIO.Trong chế độ thường (standard non-bypass) thì mỗi chânGPIO sẽ lặp lại bit dữ liệu đó.Nghĩa là khi ta viết một giá trị vàotrong thanh ghi dữa liệu PRTxDR thì ở đầu ra của các cổng tươngứng sẽ có giá trị giống như trong thanh ghi dữ liệu Điện áp thực ởchân ra phụ thuộc vào chế độ hoạt động của chân và tải bên ngoàiđược nối vào chân đó
CPU có thể đọc giá trị của một cổng bằng cách đọc giá trị củathanh ghi PRTxDR.Khi CPU đọc giá trị của PRTxDR thì giá trị điện
áp hiện thời của chân vào ra sẽ được chuyển đổi sang giá trị logic vàđược trả về cho CPU.Hoạt động này sẽ đọc giá trị điện áp của chânvào ra chứ không phải đọc về giá trị chốt của thanh ghi PRTxDR
• Vào ra toàn cục( Global IO)
Các cổng vào ra đa chức năng cũng được nối liền với các khối sốthông qua các vào ra toàn cục.Tính năng vào ra toàn cục của mỗicổng được mặc định ở trạng thái tắt.Để sử dụng tính năng này thì có
2 thông báo cần phỉa được thay đổi.Thứ nhất để cấu hình cho mộtchân GPIO hoạt động như là một đầu vào toàn cục thì bit lựa chọncổng toàn cục cần phải được set đểyêu cầu GPIO sử dụng thanh ghiPRTxDR Thứ 2 là chế độ hoạt động của GPIO cần phải được đưa vềtrạng thái cao trở.Để cấu hình cho một chân GPIO hoạt động như làmột đầu ra toàn cục thì bit lựa chọn cổng toàn cục cần phải được setlần nữa.Nhưng trong trường hợp này thì chế độ hoạt động cảu GPIO
là bất kỳ trừ chế độ cao trở
• Vào ra tương tự
Trang 30Tín hiệu tương tự có thể được truyền dẫn giữa CPU và chân củachip thông qua chân AOUT của khối.Chân này được nối vào khốithông qua một điện trở (khoảng 300 ohm).Chân vào ra đa chức năngcần phải đưa về chế độ cao trở trong trường hợp này.
• Các ngắt của khối GPIO
Mỗi một khối GPIO đều có thể được cấu hình một cách độc lậpcho khả năng ngắt.Các khối GPIO được cấu hình cho phép lựa chọnngắt cho từng chân và cũng có thể lựa chọn kiểu ngắt phù hợp.Nghĩa
là các khối có thể sinh ra ngắt khi chân ở mức logic cao,thấp hoặckhi nó thay đổi so với lần đọc trước.Các khối đều có một đầu ra ngắtriêng (INTO),nó được với các khối GPIO khác bằng một kiểu nốidây loại OR
Do tất cả các chân đều được nối với nhau theo kiểu OR để sửdụng chung một hệ thống ngắt GPIO Nên nếu một ngắt GPIO đượcchia sẻ cho nhiều chân vào ra thì trình phục vụ ngắt của người sửdụng vài kỹ thuật được thiết kế sẵn để quyết định xem là chân nàođược chọn là nguồn sinh ngắt
Sử dụng một ngắt GPIO yêu cầu những bước sau:
1. Đặt chế dộ ngắt cho khối chân GPIO
2. Mở bit ngắt cho khối chân GPIO
3. Mở bit mặt nạ cho ngắt GPIO
4. Xác nhận bit ngắt toàn cục GIE
Ở phạm vi khối GPIO,xác nhận đường ra ngắt phụ thuộc duy nhấtvào bit cho phép ngắt và trạng thái của chân quan hệ với sự lựa chọnchế độ ngắt.Ở cấp độ chip,do trạng thái tự nhiên cảu cổng nối dâyOR,ngắt GPIO không phải là ngắt nhạy theo sườn hay ngắt nhạy theomức
Chúng có thể được lựa chọn là nhạy theo sườn nhưng nhạy theosườn hay ngắt nhạy theo mức phải được tháo bỏ khỏi đương ra ngắtcủa cổng nối dây OR
Nếu không có ngắt GPIO nào đang xác nhận thì một ngắt GPIO sẽđược sinh ra bất cứ khi nào bit cho phép ngắt của một chân GPIO
Trang 31được set và chân GPIO chuyển sang cao hoặc thấp một cách thíchhợp.
Một khi điều này xảy ra.đường ra của ngắt INTO sẽ được kéoxuống thấp để xác nhận ngắt GPIO.Lưu ý rằng cho phép ngắt ở chân
có thể xác nhận đầu ra ngắt INTO ngay lập tức, nếu như điều kiệnchế độ ngắt đã sẵn sang xuất hiện ở chân
Một khi INTO được kéo xuống mức thấp, nó sẽ tiếp tục giữ INTO
ở mức thấp cho đến khi một trong các điều kiện sau đây thay đổi:
- Bit cho phép ngắt ở chân được xóa
- Điện áp ở chân chuyển đổi sang trạng thái đối lập
- Trong chế độ thay đổi ngắt, thanh ghi dữ liệu được đọc, do đóthiết lập mức độ ngắt nội tại sang trạng thái đối lập
- Chế độ ngắt bị thay đổi do đó trạng thái hiện thời của chânkhông sinh ra ngắt
• Mô tả cấu trúc của một chân vào ra đa chức năng
Sơ đồ khối chính của một khối GPIO được minh họa trong hìnhvẽ.Lưu ý rằng một vài chân không có đủ chức năng như hình vẽ, phụthuộc vào kết nối ở bên trong
Trang 32Hình 3.12 :Sơ đồ khối GPIO
Trang 33Hình 3.13:Sơ đồ khối chế độ ngắt của GPIO
• Các thanh ghi của GPIO
Đối với một khối GPIO đã được lựa chọn,những thanh ghi độc lập đượcđịnh địa chỉ như trong bảng.Trong phần tên của thanh ghi,ký hiệu “x” là sốthứ 4 của cổng
Bảng 1.14: Địa chỉ bit của thanh ghi bên trong
• Thanh ghi PRTxDR
Ghi dữ liệu vào 1 bit trong thanh ghi PRTxDR sẽ làm cho trạng thái đầu
ra cảu chân tương ứng ở mức cao (DIN =1) hoặc ở mức thấp (DIN =0).Trừkhi chế độ bypass được lựa chọn
Việc đọc giá trị của PRTxDR sẽ trả về giá trị thực trạng thái củachân,được quan sát bởi bộ đếm đầu vào Giá trị đó có thể không giống với giátrị mong muốn ở đầu ra nếu như tải được nối với chân quá lớn
Trang 34• Thanh ghi PRTxIE
Thanh ghi PRTxIE được dùng để mở và đóng việc cho phép ngắt nội tạitới một khối GPIO Giá trị 1 sẽ cho phép ngắt ở đầu ra INTO và giá trị 0 sẽkhông cho phép ngắt ở đầu ra INTO do đó nó có thể ở trạng thái cao trở
• Thanh ghi PRTxGS
Thanh ghi PRTxGS được sử dụng để lựa chọn khối cho sự kết nối tớiđầu vào hoặc đầu ra toàn cục.Việc viết giá trị logic cao vào thanh ghi này sẽcho phép global bypass.Nếu chế độ cổng ra là cao trở thì chân đó được lựachọn cho đầu vào toàn cục
Nếu chế độ cổng ra khác chế độ cao trở thì chân đó được lựa chọn làđầu ra toàn cục,bỏ qua giá trị của thanh ghi dữ liệu.Nếu thanh ghi được xóa
về không thì chức năng vào ra toàn cục cảu chân đó bị khóa
• Thanh ghi PRTxDMx
Có 8 chế độ điều khiển cho mỗi một chân cảu cổng.3 bit chế độ được sửdụng để lựa chọn một trong 8 chế độ nói trên.3 bit chế độ được phân chiatrong 3 thanh ghi khác nhau (PRTxDM0,PRTxDM1,PRTxDM2)
Vị trí tương ứng của bit trong 3 thanh ghi sẽ tương ứng với vị trí chân racủa cổng.Tuy nhiên 3 bit này được phân chia trong 3 thanh ghi khác nhaunhưng chúng lại hay được sử dụng cùng nhau theo các cặp bit tương ứng
Ví dụ: Để xét chế độ cho chân ra P2[ 1] thì ta quan tâm đến các bit trongDM2,DM1,DM0hayDM[2:0].Bảng 4-22 sẽ cho ta cái nhìn tổng quan về sựphân chia này
Chế độ
DM[2:0]
Trạng thái củachân
001b Strong driver Chế độ khỏe ở cả mức các và thấp
010b High Impedance Trở kháng cao cả ở mức cao và thấp,cho
phép đầu vào số011b Resistive pull up Khỏe ở mức thấp,điện trở treo ở mức cao100b Open drain high Chậm,khỏe ở mức cao,trở kháng cao ở
mức thấp
driver
Chế độ chậm,khỏe ở mức thấp và cao
Trang 35110b High Impedance,
analog
Chế độ cao trở cho cả cao và thấp,đầu vào
số bị khóa111b Open drain low Chế độ chậm ,khỏe ở mức thấp,cao trở ở
mức cao
Bảng 1.15: Các chế độ điều khiển chân ra các chip
Để lựa chọn đầu vào tương tự,chế độ điều khiển cổng ra cần phải đượcchọn là một trong các chế độ cao trở,có thể là 010b hoặc 110b.Chế độ 110b
có một ưu điểm là bộ đếm đầu vào khối số bị khóa vì thế không có dòngđiện”crowbar” chạy qua ngay cả khi đầu vào tương tự không gần với đườngnguồn.Khi đầu vào số được cần đến trong những chân được dùng như đầu vàotương tự thì nên sử dụng chế độ 010b.Khi chế độ 010b được sử dụng thì chân
sẽ luôn được CPU đọc như là một giá trị không và chân đó sẽ không thể sinh
ra được một ngắt hữu ích
• Thanh ghi PRTxICx
Chế độ ngắt của từng chân được quyết định bởi các bit trong hai thanhghi PRTxIC0 và PRTcIC1.Chúng được quy vào là IM0 và IM1 hay IM[1:0]
Có 4 chế độ ngắt có thể có cho chân của cổng.Hai bit chế độ được yêucầu để lựa chọn các chế độ nói trên và từng cặp bit này được phân chia trong
2 thanh ghi khác nhau (PRTxIC0vàPRTxIC1).Vị trí của bit là tương ứng với
vị trí của chân.Ví dụ chân 2 của cổng 1 sẽ tương ừng vời bit 2 trong cả haithanh ghi PRT1IC0vàPRT1IC1.Từng cặp bit này được xem như là một nhóm.Bảng sau cho ta thấy rõ hơn về các chế độ ngắt trong GPIO:
10b Xác nhận ngắt khi chân ở mức cao
11b Xác nhận ngắt khi có sự thay đổi trạng thái logic của
Trang 36khối GPIO được đặt lên mức cao.
Chế độ 10b có tác dụng là khối GPIO sẽ xác nhận một đường ngắt(INTO) khi điện áp của chân ở mức cao.Bit này cho phép đường ngắt củakhối GPIO được đặt lên mức thấp
Chế độ 11b có tác dụng là khối GPIO sẽ xác nhận một đường ngắt(INTO) khi điện áp của chân đối lập so với giá trị đọc trước đó.Chế độ nàythay đổi theo hai chế độ trên tùy thuộc vào giá trị mà trước đó nó đọc được từcổng trong quá trình đọc thanh ghi dữ liệu cổng (PRTxDR) Còn nếu giá trị
nó đọc được trước đó là 1 thì GPIO sẽ chuyển sang ngắt ở mức thấp
giá trị trước đó của chân là 0 giá trị trước đó của chân là 0
Hình 3.14:Chế độ ngắt 11b của GPIO
GPIO pin interrupt enable set: cho phép ngắt của chân GPIO
Interrupt occus: xảy ra ngắt
Pin State Wavefrom: dạng xung ở chân
Trang 37Hình 3.15: Hệ thống khối số của PSOC số
Trang 38Bảng 1.17:Thanh ghi của khối PSOC số
Mỗi khối số PSOC có 3 thanh ghi(DR0,DR1,DR2) và một thanh ghi điềukhiển CR0.Ý nghĩa của những bit trong thanh ghi này phụ thuộc nhiều vàochức năng mà nó đảm nhiệm.Ngoài 7 thanh ghi điều khiển chức năng và trạngthái của khối PSOC số còn có thêm một bit che ngắt cho mỗi một khối số.Mỗimột khối PSOC số có duy nhất một vector ngắt vì vậy có thể tạo cho nó mộttrình phục vụ ngăt
• Hệ thống khối tương tự(the analog system)
Hệ thống tương tự gồm 12 khối.Thiết bị ngoại vi tương tự rất linh hoạt và
có thể được tùy chỉnh để hỗ trợ các yêu cầu ứng dụng cụ thể.Các khối tương
tự trên chip PSOC sẽ giảm thiểu sự cần thiết cho nhiều loại chip và nhữngthiết bị ngoại vi bên ngoài Các khối PSOC tương tự được cấu hình để cungcấp những chức năng ngoại vi đa dạng.Phần mềm PSOC designer tích hợpvới môi trường phát triển sẽ cung cấp cho ta cấu hình tự động của các khốiPSOC bằng cách lựa chọn những chức năng mong muốn
Mỗi một khối analog có rất nhiều khả năng cho đầu vào và một vài đầura.Những đầu vào tới những khối này bao gồm cả những tín hiệu tương tự từnhững khối khác.Nguồn điện áp tham chiếu có thể là từ trong chip hoặc ngoàichip
Một vài hàm có trong khối PSOC analog:
o Bộ chuyển đổi ADC(tối đa là 4 bộ)
Trang 39Hình 3.16: Hệ thống khối tương tự