Tải bản đầy đủ (.pdf) (10 trang)

Giáo trình cơ điện: Thiết kế,lập trình và điều chỉnh cho việc tự động hóa trong nông nghiệp phần 7 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (712.15 KB, 10 trang )

Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 53 -
Chơng 3
Nghiên cứu phần cứng và phần mềm của chip
vi xử lý trên công nghệ pSOc của hãng cypress


3.1. Lựa chọn thiết bị điều khiển
Trong điều kiện khoa học phát triển nh hiện nay thì để thực hiện một bài
toán điều khiển thì ta có rất nhiều giải pháp trên các phần cứng cũng nh phần
mềm thông minh. Nh điều khiển bằng hệ thống Rơle, chip vi xử lý, PLC
Song tuỳ vào điều kiện, quy mô từng bài toán mà ta lựa chọn ra các giải pháp
sao cho hợp lý, đảm bảo hiệu quả kinh tế.
Đối với bài toán điều khiển hệ thống tới phun ma thì do điều kiện tự
nhiên mà bàn điều khiển có thể phải để ngoài thực địa và cần di chuyển nhiều,
mặt khác độ phức tạp khi điều khiển không cao thông số điều khiển vào ra
không nhiều cho nên tôi chọn chip vi xử lý trên công nghệ PSoC làm giải pháp
điều khiển cho hệ thống tới phun ma.
Khác với các công nghệ sản xuất chip thông thờng chỉ cho ra các IC
riêng lẻ, IC ngoại vi không có bộ xử lý thì công nghệ PSoC của hãng Cypress
cho phép tạo nên cả một hệ thống trên một chip bao gồm CPU, ROM, RAM
và các ngoại vi thời gian thực ( ADC, DAC, Timer, Counter, các cổng vào ra
đa chức năng, các cổng truyền thông) Ngoài ra, công nghệ này còn có một
u điểm nổi trội hơn so với các công nghệ khác là cho phép ngời lập trình
thay đổi cấu hình phần cứng trong quá trình hoạt động.
Các chip chế tạo theo công nghệ PSoC đợc phát triển trên nền vi xử lý
ngày càng hoàn thiện về chức năng, tối u về kích thớc. Các chip này đã dần
thay thế vị trí các bộ vi xử lý ứng dụng trong đo lờng điều khiển công nghiệp
cũng nh nhiều lĩnh vực khác. Từ những u điểm vợt bậc trên ta tiến hành
chọn chip vi xử lý trên công nghệ PSoC làm chip điều khiển hệ thống tới


.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 54 -
phun ma.
3.2. Tổng quan cấu trúc và tính năng của PSoC
PSoC là một từ viết tắt của cụm từ tiếng anh: Programable System on Chip
nghĩa là hệ thống khả trình trên một chip. Các chip chế tạo theo công nghệ
PSoC là chip điều khiển thông minh có tính linh hoạt cao, chi phí công nghệ
phục vụ nghiên cứu và phát triển ban đầu khá thấp, giá thành chip thấp, hỗ trợ
kỹ thuật tốt với phần mềm phát triển dễ sử dụng.
Thành phần 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à có bộ nhớ RAM lớn. Để lập trình hệ thống và cài chơng
trình điều khiển vào chip thì ta cần có phần mềm lập trình và một kit phát
trin do hãng chế tạo chip cung cấp, Ví dụ nh các chip PSoC của hãng
Cypress thì ngời lập trình cần có phần mềm PSoC Designer. 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 hoá. 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à tuỳ thuộc vào ngời lậ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 chip chỉ đơ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ả hai. (Bản chất đây là phơng pháp lập trình kéo thả). 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 nh thế nào
đều tuỳ thuộc vào việc thiết lập của ngời lập trình cho PSoC. Chip PSoC có
nhiều họ đối với mỗi họ nó cung cấp phần cứng khác nhau, có bao nhiêu chân,
chức năng mỗi chân, số lợng các khối và tốc độ của chúng. Đối với chip
PSoC họ CY8C27xxx cung cấp.
1). Bộ vi xử lý với cấu trúc Harvard.
5 Tốc độ của vi xử lý lên đến 24 MHz.

5 Lệnh nhân 8 bit x 8 bit, thanh ghi tích luỹ là 32 bit.
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 55 -
5 Hoạt động ở tốc độ cao mà năng lợng tiêu hao ít.
5 Dải điện áp hoạt động từ 3,0 đến 5,25V.
5 Điện áp hoạt động có thể giảm xuống 1,0V sử dụng chế độ kích điện áp.
5 Hoạt động trong dải nhiệt độ từ - 40 C đến 85 C.
2). Các khối ngoại vi có thể hoạt động độc lập hoặc kết hợp
5 12 khối ngoại vi tơng tự có thể đợc thiết lập để đợc thiết lập để đáp
ứng yêu cầu bài toán.
x Các bộ ADC lên tới 14 bit.
x Các bộ DAC lên tới 9 bit.
x Các bộ khuyếch đại có thể lập trình đợc hệ số khuyếch đại.
x Các bộ lọc và các bộ so sánh có thể lập trình đợc.
5 8 khối ngoại vi số có thể đợc lập để làm các nhiệm vụ:
x 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 chết( dead band).
x Các module kiểm tra lỗi (CRC modules).
x Hai bộ truyền thông nối tiếp không đồng bộ hai chiều.
x Các bộ truyền thông SPI Master hoặc Slaver có thể cấu hình đợc.
x Có thể kết nối với các chân vào ra.
3). Bộ nhớ linh hoạt trên chip
5 Không gian bộ nhớ chơng trình Flash từ 4K đến 16K, phụ thuộc vào
từng loại chip với chu kỳ ghi xoá cho bộ Flash là 50.000 lần.
5 Không gian bộ nhớ RAM là 256 byte.
5 Chip có thể lập trình thông qua chuẩn nối tiếp (ISSP).
5 Bộ nhớ Flash có thể đợc nâng cấp từng phần.
5 Chế độ bảo mật đa năng tin cậy.

5 Có thể tạo đợc không gian bộ Flash trên chip lên tới 2,304 byte.
4). Có thể lập đ
ợc cấu hình cho từng chân của chip
5 Các chân vào ra ba trạng thái sử dụng Trigger Schmitt.
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 56 -
5 Đầu ra logic cung cấp dòng 25mA với điện trở treo cao hoặc thấp bên
trong.
5 Thay đổi dợc ngắt trên từng chân.
5 Đầu ra tơng tự có thể cung cấp dòng tới 40mA.
5 Đờng ra đa chức năng có từ 6 đến 44 tuỳ thuộc vào từng loại chip.
5). Xung nhịp của chip có thể lập trình đợc
5 Bộ tạo dao động 24/48 MHz bên trong( Độ chính xác là 2,5%).
5 Có thể lựa chọn bộ dao động ngoài lên tới 24MHz.
5 Bộ tạo dao động thạch anh 32,768 kHz bên trong.
5 Bộ tạo dao động tốc độ thấp bên trong sử dụng cho Watchdog và Sleep.
6). Ngoại vi đợc thiết lập sẵn
5 Bộ định thời Watch dog và sleep phục vụ chế độ an toàn và chế độ
nghỉ.
5 Module truyền thông I
2
C Master và I
2
C Slave tốc độ lên tới 400kHz.
5 Module phát hiện điện áp thấp đợc cấu hình bởi ngời sử dụng.
7). Công cụ phát triển
5 Phần mềm phát triển miễn phí (PSoCCTM Designer).
5 Bộ lập trình và bộ mô phỏng với đầy đủ tính năng.

5 Mô phỏng ở tốc độ cao.

3.3 Tìm hiểu cấu trúc phần cứng chip PSoC
A. Cấu trúc vi xử lý
1.Bộ xử lý trung tâm - CPU

Trong chip PSoC bộ xử lý trung tâm CPU đợc gọi với tên là M8C. Bộ
xử lý này kiểm soát các thanh ghi nội tại, không gian địa chỉ tập lệnh cũng
nh các chế độ địa chỉ. Các họ chíp của PSoC dựa trên bộ vi xử lý mạnh mẽ 8
bit với cấu trúc Harvard (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ủa bộ nhớ chơng trình và bộ nhớ dữ liệu độc lập
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 57 -
với nhau). Nó có 5 thanh 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ếp vào các thanh ghi này thông qua không gian bộ nhớ các
thanh ghi. Các thanh ghi của CPU đợc cho trong bảng sau:



Bộ đếm chơng trình là một thanh ghi16 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 chíp (16 Kbytes đối với thành viên lớn nhất). Đây là một không gian nhớ
liên tục và không cần phải tạo thành trang (no paging).
- Thanh ghi chứa (Accumulator) là một thanh ghi đa mục đích, nó thờng
đợc sử dụng để lu giữ kết quả của bất cứ một lệnh nào sử dụng chế độ địa
chỉ nguồn.
- Thanh ghi chỉ số đợc dùng để lu giữ giá trị Offset (độ lệch) trong chế

độ địa chỉ chỉ số. Tiêu biểu là nó đợc dùng để địa chỉ một khối dữ liệu bên
trong không gian nhớ dữ liệu.
- Thanh ghi Con trỏ Stack (Stack Pointer) lu giữ địa chỉ của đỉnh Stack
trong không gian nhớ dữ liệu. Nó bị tác động bởi những lệnh nh PUSH, POP,
LCALL, RETI và RET. Nói chung là tất cả những lệnh có liên quan đến stack
của phần mềm. Nó cũng có thể bị ảnh hởng bởi lệnh SWAP và lệnh ADD.
- Thanh ghi cờ (Flags) có ba 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àn cục- Global Interrupt enable bit[0] đợc dùng để cho phép hoặc
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 58 -
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ệnh logic.

2.Ngắt và 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 đợc thực
hiện mỗi khi có một ngắt sinh ra từ các khối chức năng trong chip PSoC. Mỗi
một khối số có một ngắt riêng và mỗi một 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ảng 4-20: Các thanh ghi của bộ điều khiển ngắt



Bộ điều khiển ngắt cùng với những thanh ghi của nó cho phép các 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 hay riêng biệt thông báo

ngắt và ngắt chờ. Một kỹ thuật phần mềm đợc cung cấp để cho phép ngời
lập trình thiết lập ngắt một cách riêng biệt. Thiết lập một ngắt bằng kỹ thuật
này rất mạnh mẽ và hữu ích cho việc phát triển mã nguồn, khi mà nó không có
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 59 -
đủ hệ thống phần cứng hoàn chỉnh để sinh ra một ngắt thực.

Bảng 4-21 : Bảng vector ngắt của CY8C27xxx


3. Các cổng vào ra đa chức năng
Cổng vào ra đa chức năng cung cấp cho CPU một giao diện với bên ngoài.
Chúng đòi hỏi một số lợng lớn thanh ghi cấu hình để hỗ trợ cho nhiều chế
độ hoạt động vào / ra bao gồm cả số và tơng tự.
Bảng 4-22: Các thanh ghi vào ra đa chức năng.

Chú ý: kí tự x sau dấu phẩy trong trờng địa chỉ có nghĩa là các cổng
vào ra đều có riêng biệt các thanh ghi trên. Mỗi một cổng thì các thanh ghi sẽ
có một địa chỉ riêng. Nhng để dễ hiểu thì ta chỉ xét chung cho trờng hợp
tổng quát. Các cổng vào ra đa chức năng đều có độ rộng là 8 bit/ 1 cổng. Mỗi
một cổng vào/ra bao gồm 8 khối GPIO giống hệt nhau. Mỗi một khối GPIO
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 60 -
đều đợc kết nối với bit có số thứ tự tơng ứng trong địa chỉ và thanh ghi. Bởi
vậy, những thanh ghi trong bảng các thanh ghi trên thực sự chỉ dành cho một
cổng (bao gồm 8 khối GPIO). Trong đó thì vị trí của bit sẽ chỉ rõ là khối GPIO

nào trong 8 khối đợc điều khiển với cổng vào ra. Mỗi một khối GPIO có thể
đợc sử dụng cho những kiểu vào ra sau:
- 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 số 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ủa khố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 đa chức
năng là cho phép CPU gửi thông tin ra ngoài chip và lấy thông tin từ bên ngoài
vào. Điều này đợc thực hiện nhờ thanh ghi dữ liệu cổng (Port Data Register
PRTxDR). Việc viết dữ liệu vào thanh ghi PRTxDR sẽ lu lại trạng thái dữ
liệu, mỗi bit cho một chân GPIO. Trong chế độ thờng (standard non-bypass)
thì mỗi chân GPIO sẽ lặp lại bit dữ liệu đó. Nghĩa là khi ta viết một giá trị vào
trong thanh ghi dữ liệu PRTxDR thì ở đầu ra của 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 đó. (Xem cấu trúc
của 1 chân vào ra để hiểu rõ thêm) CPU có thể đọc giá trị của một cổng bằng
cách đọc giá trị của thanh 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ân vào ra
chứ không phải là đọ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
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46
Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 61 -
cục của mỗi cổ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 số cần phải đợc thay đổi. Thứ nhất để cấu hình cho một chân
GPIO hoạt động nh là một đầu vào toàn cục thì bit lựa chọn cổng toàn cục
cần phải đợc set để yêu cầu GPIO sử dụng thanh ghi PRTxGS. Thứ hai 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 set lần nữa. Nhng trong trờng hợp này thì chế
độ hoạt động của GPIO là bất kì trừ chế độ cao trở.
*Vào ra tơng tự: Tín hiệu tơng tự có thể đợc truyền dẫn giữa CPU và
chân của chíp thông qua chân AOUT của khối. Chân này đợc nối với khối
thông qua một điện trở (khoảng 300 ohms). Chân vào ra đa chức năng cầ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ập cho khả năng
ngắt. Các khối GPIO đợc cấu hình cho phép lựa chọn ngắ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ặc khi nó thay đổi so với lần đọc trớc. Các
khối đều có một đầu ra ngắt riêng (INTO), nó đợc nối với các khối GPIO
khác bằng một kiểu nối dâ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 đợc chia sẻ cho nhiều chân vào ra thì trình phục vụ ngắt của
ngời sử dụng cần phả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ế độ 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ạ ngắt 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ất vào bit
.
Đồ án tốt nghiệp Nguyễn Thái Học - Lớp TĐH 46

Khoa Cơ Điện Trờng ĐHNN I - H Nội
- 62 -
cho phép ngắt và trạng thái của chân quan hệ với sự lựa chọn chế độ ngắt. ở
cấp độ chip, do trạng thái tự nhiên của cổng nối dây OR, ngắt GPIO không
phải là ngắt nhạy theo sờn hay ngắt nhạy theo mức. Chúng có thể đợc lựa
chọn là nhạy theo sờn nhng nhạy theo mức phải đợc tháo bỏ khỏi đờng ra
ngắt củ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 đợc set và chân GPIO chuyển sang cao hoặc thấp một cách thích hợp.
Một khi điều này xảy ra, đờng ra của ngắt INTO sẽ đợc kéo xuống thấp để
xác nhận ngắt GPIO (Giả định rằng các điều kiện sinh ngắt của hệ thống là
cho phép, nh là cho phép ngắt GPIO toàn cục và cho phép ngắt toàn cục).
Lu ý 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ện chế độ ngắt đã sẵn sàng 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ân không sinh ra
ngắt. Khi một trong các điều kiện trên xảy ra thì đầu ra INTO đợc giải
phóng. Tại thời điểm này, các chân khác (hoặc chính chân này) có thể xác
nhận đầu ra ngắt của nó, kéo đờng chung xuống thấp để xác nhận một ngắt
mới. Lu ý rằng nếu một chân đang xác nhận đờng ra ngắt INTO và khi đó
một chân khác lại xác nhận đầu ra ngắt của nó thì khi chân trớc giải phóng
đờng ra ngắt của nó mà chân thứ hai đã điều khiển đầu ra ngắt INTO của nó
thì sẽ không có sự thay đổi nào đợc phát hiện ra ở đầu ra ngắt INTO. Tức là
sẽ không có ngắt mới nào đợc xác nhận trên ngắt GPIO. Chú ý, sử dụng
AND/OR trạng thái của chân GPIO và của bit cho phép ngắt toàn cục để nắm

bắt đợc toàn bộ các ngắt của cổng nối dây OR trong khối GPIO.
.

×