LỜI MỞ ĐẦU
Ngày nay, các thiết bị điện tử và tự động hóa có mặt ở khắp nơi, chúng có mặt
trong tất cả các lĩnh vực, từ những ứng dụng trong công nghiệp cho đến những sản
phẩm dân dụng, và những ứng dụng chuyên dụng trong quân sự, công nghệ thông tin,
điện tử viễn thông. Mà lõi của các thiết bị đó đại đa số là các họ vi xử lí, vi điều khiển.
Một trong những vi điều khiển được ứng dụng rộng rãi và có nhiều tài nguyên là họ vi
điều khiển PIC.
Trước đây, việc giám sát từ xa thông qua một hệ thống gồm các phần tử nối với
nhau bằng dây dẫn với các chuẩn truyền thông phổ biến như RS-232, RS-485. Tuy
nhiên, việc mở rộng phạm vi điều khiển (sự gia tăng về số lượng các phần tử) thì mô
hình này gặp nhiều khó khăn, và đặc biệt là khoảng cách điều khiển rất hạn chế. Sự ra
đời của công nghệ truyền thông với giao thức TCP/IP đã làm thay đổi hoàn toàn phạm
vi ứng dụng của thiết bị giám sát và điều khiển từ xa. Mô hình mạng phổ biến đó là
mạng nội bộ LAN (Local Area Network) và mạng diện rộng WAN (Wide Area
Network), gọi chung là mạng Ethernet đã cho phép mở rộng phạm vi giám sát và quy
mô của hệ thống. Thêm vào đó, khi muốn truyền xa hơn, có thể truy câp vào hệ thống
từ bất kỳ đâu chỉ cần có thêm đường truyền Internet.
Vi điều khiển PIC có rất nhiều tài nguyên, có đầy đủ tính năng của một vi điều
khiển khác như các cổng I/O, biến đổi ADC, các bộ timer…Và PIC18F97J60 là một
trong những chip vi điều khiển có đấy đủ tính năng như vậy, đăc biệt hơn khi vi điều
khiển này hỗ trợ chuẩn Ethernet giúp các thiết bị có thể dễ dàng kết nối Internet.
Xuất phát từ thực tiễn đó qua đề tài: “ Nghiên cứu, ứng dụng vi điều khiển
PIC 18F97J60 ” nhóm chúng em đã quyết định chọn một ứng dụng quan trọng nổi
trội hơn so với các họ vi điều khiển khác đó chính là điều khiển thiết bị từ xa qua giao
thức TCP/IP dùng PIC18F97J60 .
Trong quá trình thực hiện đề tài không tránh khỏi nhiều thiếu sót, chúng em
mong nhận được nhiều ý kiến đóng góp từ quý thầy cô và các bạn để đề tài hoàn thiện
hơn.
Chúng em xin chân thành cảm ơn!
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
LỜI CẢM ƠN
Trước tiên chúng em xin gửi lời cảm ơn đến các thầy, các cô Trường Đại học
Điện lực, khoa Công nghệ tự động đã nhiệt tình giảng dạy và truyền đạt những kiến
thức, kinh nghiệm quí giá trong suốt quá trình chúng em học tại trường.
Chúng em xin gửi lời cảm ơn sâu sắc đến ThS. Bùi Thị Duyên và KS. Nguyễn
Khánh Hưng, đã tận tình hướng dẫn, cung cấp tài liệu trong suốt quá trình thực hiện đề
tài này.
Bên cạnh đó nhóm đồ án cũng xin gửi lời cảm ơn đến tập thể lớp Đ3_CNTD,
những người đồng hành trong khóa học và có nhiều ý kiến đóng góp.
Một lần nữa xin gửi lời cảm ơn chân thành và sâu sắc!
Hà nội, Ngày 10 tháng 01 năm 2013
Nhóm sinh viên thực hiện:
1. Vũ Văn Cảnh
2. Nguyễn Văn Phong
3. Lê Anh Quân
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ TỰ ĐỘNG
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
*****************
PHIẾU GIAO ĐỒ ÁN TỐT NGHIỆP
HỆ ĐẠI HỌC
Họ và tên : ………………………… ………………………………………………
………………………… ………………………………………………
Lớp : ………………………………………… ……Khoa : Công nghệ tự động
Ngành học : ………………………… ………………………………………………
Tên đề tài : ………………………… ………………………………………………
………………………… ………………………………………………
………………………… ………………………………………………
Mục đích : ………………………… ………………………………………………
………………………… ………………………………………………
………………………… ………………………………………………
………………………… ………………………………………………
Yêu cầu : ………………………… ………………………………………………
………………………… ………………………………………………
………………………… ………………………………………………
………………………… ………………………………………………
………………………… ………………………………………………
Nơi thực hiện : ………………………… ……………………………………………
Kết quả thực hiện : ( Bản vẽ, thuyết trình, chương trình… )
………………………… ……………………………………………………………….
Ngày giao đề tài : ……… ………………………………………………………………
Ngày hoàn thành : ……… ……………………………………………………………
Giáo viên hướng dẫn ( Ghi rõ chức danh, học hàm, học vị, họ và tên )
………………………… ……………………………………………………………….
Hà Nội, ngày………tháng…….…năm………
Giáo viên hướng dẫn Khoa công nghệ tự động
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
NHẬN XÉT
(Của giảng viên hướng dẫn)
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
NHẬN XÉT
(Của giảng viên phản biện)
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
Mục lục
Trang
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
Danh mục hình vẽ
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
8
CHƯƠNG 1
TÌM HIỂU VĐK PIC 18F97J60
1.1.Tổng quan về VĐK PIC.
1.1.1. Lịch Sử Phát Triển
Năm 1965 hãng Genneral Instrument thành lập ban vi điện tử nhằm tập trung
nghiên cứu công nghệ chế tạo bộ nhớ kiểu EPROM và EEPROM, đó là các linh kiện
thu hút nhiều đầu tư của các phòng thí nghiệm bán dẫn. Đầu những năm 70 Genneral
Instrument cũng chế tạo vi xử lý 16 bit PC1600. Bộ xử lý này khá tốt nhưng có nhược
điểm là khả năng vào ra không mạnh để thích ứng bộ xử lý PC1600 trong các ứng
dụng cần có tính nâng cao. Năm 1975 Genneral Instrument thiết kế vi mạch điều khiển
giao tiếp ngoại vi (Peripheral interface controler) viết tắt là PIC, đó là linh kiện hỗ trợ
các tính năng vào ra cho vi xử lý PIC không cần nhiều chức năng vì chỉ xử lý các công
việc vào ra do đó bộ m. lệnh của nó khó nhỏ gọn. Những vi điều khiển PIC đầu tiên có
điểm yếu là chế tạo theo công nghệ n-MOS nên tiêu thụ nhiều năng lượng, bộ nhớ
chương tr.nh là loại ROM mặt nạ chỉ nạp được một lần, do đó chương trình điều khiển
được nạp ngay khi chế tạo vi mạch nên chỉ thích hợp với các khách hang đặt mua với
số lượng lớn, để lắp ráp trong sản xuất những sản phẩm cụ thể.
Những năm đầu thập kỷ 80 Genneral Instrument gặp khó khăn trong thương
mại và tổ chức lại. Hãng tập trung vào chế tạo linh kiện bán dẫn công suất lớn là thế
mạnh cho tới hiện nay của hãng. Genneral Instrument đã chuyển nhượng Ban vi điện
tử và nhà máy tại Chandle, bang Anizona cho các nhà đầu tư. Họ lập ra một công ty
mới, đặt tên là Arizona Microchip technology hiện nay là Microchip technology Inc.
Chiến lược của các nhà đầu tư là tập trung vào vi điều khiển và các bộ nhớ bán
dẫn. Các vi mạch PIC n-MOS được cải tiến, chế tạo dựa trên nền tảng công nghệ mới
CMOS. Các sản phẩm đầu tiên của Microchip được biết tới và bán ra với số lượng lớn
là các vi điều khiển PIC thuộc họ PIC16C5x. Họ này có hai biến thể với bộ nhớ
chương trình là OTP và UV EPROM. Loại OTP có thể nạp trình một lần dùng cho sản
xuất loại lớn. Loại UV EPROM có thể xóa được bằng tia cực tím (tia UV) dùng khi
phát triển, thử nghiệm phần mềm.
Năm 1983 Microchip là hãng đầu tiên tích hợp được bộ nhớ chương trình flash
EEPROM vào những vi điều khiển mới, trong đó được biết đến nhiều nhất là PIC. Bộ
nhớ chương trình flash đã loại bỏ vai trò của vi điều khiển có bộ nhớ xoá bằng tia cực
tím, có vỏ bằng gốm đắt tiền và các đèn chiếu tia cực tím.
1.1.2. PIC là gì?
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy
tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu
tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi điều khiển
CP1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình
thành nên dòng vi điều khiển PIC ngày nay.
1.1.3. Phân Loại
Tiêu chuẩn để phân nhóm dựa trên sự khác nhau về kiến trúc bộ xử lí bên trong vi
điều khiển.
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
9
- Số các thanh ghi có thể truy cập được.
- Có hay không có ngắt, số lượng ngắt.
- Số lượng các phần cứng có chức năng đặc biệt.
- Độ dài từ lệnh.
Dựa vào những đặc điểm đó vi điều khiển PIC được chia làm 4 họ:
1.1.3.1. Họ cấp thấp (low-end)
Gồm các loại được ký hiệu 12C5xx, 16C5x, 16C505, 16HV540
Độ dài từ lệnh 12 bit
Bố chí các thanh ghi: có 32 thanh ghi trên một bank, tối đa có 4 bank
Đặc điểm chung:
- Rất thích hợp trong các ứng dụng giao diện đơn giản với ngoại vi.
- Bộ nhớ chương trình kiểu OTP hoặc EPROM xoá được bằng tia cực tím.
- Tốc độ cao, thực hiện được 5 triệu chỉ thị/s với tần số xung nhịp 20MHz.
- Chỉ có một bộ đếm timer.
- Không có các ngắt cứng.
- Không có các lối ra tăng cường.
- Nạp trình song song, trừ PIC12C5xx và PIC16C505 được nạp trình nối tiếp
theo giao thực ICSP.
1.1.3.2. Họ cấp trung (Mid-range)
Bao gồm 12C6xx, 14C000, 16C55x, 16C6x, 16C62x, 16F62x, 16C67x, 16C8x,
16F87x và 16C9xx.
Độ dài từ lệnh 14 bit
Là họ vi điều khiển PIC thông dụng nhất hiện nay.
Bố chí các thanh ghi: 128 byte trên một bank, tối đa 4 bank.
Là vi điều khiển vạn năng tinh năng mạnh.
Có rất nhiều biến thể khắc nhau, với các kiểu đóng vỏ đa dạng: DIP, PLCC,
Đặc điểm:
- Tốc độ cao, thực hiện được 5 triệu chỉ thị /s ở xung nhịp 20MHz.
- Có các ngắt phần cứng.
- Có từ 1 đến 3 bộ đếm – timer
- Có rất nhiều kiểu khác nhau về chân vào/ra tăng cường bao gồm các vào/ra
tương tự,giao diện truyền thông nối tiếp: đồng bộ, không đồng bộ, 12C, SPI,
CAN, USB…, bộ, điều khiển LCD.
- Bộ nhớ chương trình flash ở hầu hết các vi mạch.
- Khả năng nạp trình nối tiếp ICSP.
- Có khả năng tự ghi vào bộ nhớ chương trình (self-programming).
- Có phần cứng gỡ rối chương trình ICD ở một số loại.
1.1.3.3. Họ cấp cao (High-end) 17Cxxx
Gồm các loại 17Cxxx
Độ dài từ lệnh 16 bit
Bố trí các thanh ghi: 224 byte trên một bank, tối đa 8 bank, 48 thanh ghi chức
năng đặc biệt (SFR).
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
10
Đặc điểm chung.
- Kiến trúc khác so với họ PIC cấp chung, cấp thấp.
- Có ác lệnh tăng cường và nhiều khả năng định địa chỉ.
- Vi điều khiển giao tiếp bus, truy nhập cac thiết bị song song trực tiếp.
- Có một số lối vào/ra tăng cường.
- Bộ nhớ chương trình OTP.
- Nạp trình kiểu song song.
1.1.3.4. Họ cấp cao (High- performance)
Gồm những loại có kí hiệu 18Cxxx và 18Fxx2
Độ dài từ lệnh 16 bit.
Bố trí các thanh ghi 256 byte trên một bank, tối đa có 16 bank.
Đặc điểm chung:
- Kiển trúc nâng cao, dựa trên nền tảng của họ cấp trung, theo xu hướng thừa kế
những tính năng của các loại cấp trung đồng thời bổ xung các tính năng mới.Do
đó dần dần có khả năng thay thế toàn bộ PIC cấp trung.
- Có các lệnh tăng cường và nhiều khả năng định địa chỉ.
- Có khả năng truy nhập tới 2Mbyte bộ nhớ chương trình, 4Kbyte bộ nhớ RAM.
- Véctơ ngắt đơn, có thể lập tr.nh được mức độ ưu tiên các nguồn ngắt.
- Khả năng vào/ra tương tự họ cấp trung.
- Tần số hoạt động tối đa 40MHz, có bộ nhân tần số PLL.
- Có bộ nhớ chương trình flash.
- Nạp trình nối tiếp, có khả năng tự ghi vào bộ nhớ chương trình.
Hiện nay mới nhất là DSPIC với nhiều tính năng vượt trội:
1.1.4. Kiến trúc PIC
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc:
kiến trúc Von Neuman và kiến trúc Havard.
Hình 1.1. Kiến trúc Havard và kiến trúc Von-Neuman.
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Havard. Điểm khác
biệt giữa kiến trúc Havard và kiến trúc Von-Neuman là cấu trúc bộ nhớ dữ liệu và bộ
nhớ chương trình.
Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm
chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ
chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của
CPU phải rất cao, vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương
tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc Von-
Neuman không thích hợp với cấu trúc của một vi điều khiển.
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
11
Đối với kiến trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành
hai bộ nhớ riêng biệt. Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai
bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể.
Một điểm cần chú ý nữa là tập lệnh trong kiến trúc Havard có thể được tối ưu
tùy theo yêu cầu kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu.
Ví dụ, đối với vi điều khiển dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu
được tổ chức thành từng byte), còn đối với kiến trúc Von-Neuman, độ dài lệnh luôn là
bội số của 1 byte (do dữ liệu được tổ chức thành từng byte). Đặc điểm này được minh
họa trong hình 1.1.
1.2. Vi điều khiển PIC 18F97J60
Hình 1.2. Vi điều khiển PIC 18F97J60
1.2.1. Tổng quan về họ PIC 18F
Họ PIC18F gồm có các thiết bị sau đây:
• PIC18F66J60 • PIC18F87J60
• PIC18F66J65 • PIC18F96J60
• PIC18F67J60 • PIC18F96J65
• PIC18F86J60 • PIC18F97J60
• PIC18F86J65
Họ này giới thiệu một dòng mới của các thiết bị điện áp thấp với các lợi thế truyền
thống quan trọng của tất cả các vi điều khiển PIC18- cụ thể là, hiệu suất tính toán cao, nhiều
tính năng, với giá cả cực kì cạnh tranh. Những tính năng này làm cho họ vi điều khiển
PIC18F97J60 là một sự lựa chọn hợp lí cho những ứng dụng hiệu suất cao mà chi phí cần
được quan tâm chính.
Các đặc điểm cơ bản của vi điều khiển PIC18F97J60
- Tốc độ làm việc tối đa lên đến 10.5 MIPS (triệu lệnh trong 1 giây).
- Với 3 bộ Timer 16 bit và 1 bộ Watchdog Timer giúp cho ta xử ly các bài toán
điều khiển với tính năng thời gian thực.
- PIC18F97J60 còn là một dòng IC chuyên dụng trong giao tiếp mạng Internet
với module giao thức mạng được tích hợp sẵn trong chip.Với bộ nhớ chương
trình Flash khá lớn 128KB và bộ nhớ RAM 3.8KB sẽ cho phép ta thực hiện
được các bài toán phức tạp.
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
12
- Trên chip có 16 kênh ADC 10 bít nên việc thực hiện các bài toán đo lường trở
nên đơn giản.
- Chíp có thể hoạt động bằng nguồn dao động nội ở tần số tối đa 41.6667Mhz,
với tính năng này giúp cho nó có thể hoạt động tốt trong môi trường có độ ẩm
cao.
- PIC18F97J60 được thiết kế dưới dạng chíp dán 100 chân, trong đó có thể sử
dụng tối đa được 70 chân I/O.
1.2.1.1. Tính năng chính
Công nghệ nanoWatt
Tất cả các thiết bị trong họ PIC18F97J60 kết hợp một loạt các tính năng mà có thể làm
giảm đáng kể năng lượng tiêu thụ trong quá trình hoạt động. Các tính năng chính bao gồm:
- Chế độ chạy luân phiên: với xung clocking điều khiển từ nguồn Timer1 hoặc bộ dao
động RC bên trong, điện năng tiêu thụ trong thời gian thực hiện mã có thể được giảm
đến 90%.
- Chế độ nghỉ chạy: bộ điều khiển cũng có thể chạy với lõi CPU không làm việc nhưng
các thiết bị ngoại vi vẫn còn hoạt động. Ở trạng thái này, tiêu thụ điện năng có thể
được giảm hơn nữa, ít nhất là 4% mức điện năng yêu cầu khi hoạt động bình thường.
- Chuyển đổi chế độ nhanh: chế độ quản lí năng lượng được gọi bởi mã lệnh của người
sử dụng trong suốt quá trình vận hành, cho phép người sử dụng kết hợp ý tưởng quản
lí năng lượng vào trong các thiết kế phần mềm ứng dụng.
Lựa chọn bộ dao động Oscillator và các tính năng chính
Tất cả các thiết bị trong họ PIC18F97J60 cung cấp 5 lựa chọn bộ dao động khác nhau,
cho phép người sử dụng một loạt các lựa chọn trong phát triển phần cứng của các ứng dụng.
Những tùy chọn bao gồm:
- Hai chế độ thạch anh, sử dụng thạch anh hoặc các bộ cộng hưởng dùng gốm.
- Hai chế độ xung clock bên ngoài, cung cấp các tùy chọn phân chia bởi 4 đầu ra clock.
Bộ nhớ mở rộng
Họ PIC18F97J60 cung cấp dư thừa chỗ cho các mã ứng dụng, không gian từ 64
Kbytes đến 128 Kbytes. Các bộ nhớ Flash cho bộ nhớ chương trình được đánh giá kéo dài đến
100 chu kì xóa / ghi. Dữ liệu lưu trữ mà không làm mới được bảo toàn ước tính là nhiều hơn
20 năm. Họ PIC18F97J60 cũng cung cấp rất nhiều không gian cho dữ liệu của các ứng dụng
động với 3808 byte RAM.
Bus nhớ mở rộng
Trong trường hợp không chắc rằng 128 Kbytes bộ nhớ đủ cho một ứng dụng, các
thành viên 100 chân của họ PIC18F97J60 cũng sử dụng bus bộ nhớ bên ngoài. Điều này cho
phép bộ điều khiển chương trình bên trong truy cập để sử dụng một không gian bộ nhớ lên
đến 2 Mbytes, cho phép một mức độ truy cập dữ liệu mà ít thiết bị 8-bit nào có thể đáp ứng
được. Điều này cho phép thêm lựa chọn bộ nhớ, bao gồm:
• Sử dụng sự kết hợp của bộ nhớ trên chip và bên ngoài chip lên đến giới hạn 2-Mbyte
• Sử dụng bộ nhớ Flash bên ngoài cho phép lập trình lại các mã ứng dụng hoặc bảng dữ liệu
lớn.
• Sử dụng các thiết bị có bộ nhớ RAM bên ngoài để lưu trữ số lượng biến dữ liệu lớn.
Chuyển đổi dễ dàng
Bất kể kích thước bộ nhớ, tất cả các thiết bị chia sẻ cùng số lượng các thiết bị ngoại vi
phong phú, sử dụng PIC18 cho phép dễ dàng tăng thêm hoặc cải tiến các ứng dụng.
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
13
1.2.1.2. Tính năng đặc biệt khác
Truyền thông: họ PIC18F97J60 kết hợp một loạt các kiểu giao tiếp với thiết bị ngoại
vi, bao gồm sử dụng độc lập hoặc kết hợp 2 mô đun: USARTs và SSP, có phương thức hoạt
động của cả SPI và I2C ™ (Master và Slave). Ngoài ra, với những mục đích chung, một trong
những cổng I/O có thể được cấu hình lại như là một Slave song song 8-bit để cho bộ vi xử lý
trực tiếp xử lý thông tin liên lạc.
Khối CCP: Tất cả các thiết bị trong họ này kết hợp 2 khối CCP và 3 khối ECCP để tối
đa hóa sự linh hoạt trong ứng dụng điều khiển. Lên đến bốn căn cứ thời gian khác nhau có thể
được sử dụng để thực hiện một số hoạt động khác nhau cùng một lúc. Mỗi một trong ba khối
ECCP cung cấp lên đến bốn đầu ra PWM, cho phép tổng cộng mười hai PWM. Các khối
ECCP cũng cung cấp các tính năng mang lại nhiều lợi ích, bao gồm cả lựa chọn phân cực, lập
trình thời gian trùng dẫn, tự động tắt máy và khởi động lại, chế độ đầu ra Half- Bridge hoặc
Full-Bridge.
Bộ chuyển đổi A/D 10-Bit: mô-đun này kết hợp với lập trình làm giảm thời gian, cho
phép kênh được lựa chọn và chuyển đổi được bắt đầu mà không cần phải chờ đợi một thời
gian lấy mẫu và do đó, giảm chi phí mã.
Tính năng đặc biệt của CPU
Họ PIC18F97J60 bao gồm một số tính năng nhằm mục đích để tối đa hóa độ tin cậy
và giảm thiểu chi phí thông qua việc loại bỏ các thành phần bên ngoài. Đó là:
• Lựa chọn bộ dao động
• Đặt lại:
- Power-on Reset (POR)
- Power-up Timer (PWRT)
- Oscillator Start-up Timer (OST)
- Brown-out Reset (BOR)
• Ngắt
• Kiểm tra hoạt động xung clock an toàn/ lỗi
• Khởi động 2 tốc độ
• Mã bảo vệ
• Chương trình nối tiếp trong mạch
•Điều chỉnh điện áp trên chip
Họ PIC18F97J60 thường được thiết kế để hoạt động với điện áp danh nghĩa 2.5V.
Điều này có thể tạo ra một vấn đề cho các mẫu thiết kế được yêu cầu để hoạt động ở mức cao
hơn điện áp điển hình, chẳng hạn như 3.3V. Để đơn giản hóa thiết kế hệ thống, tất cả các thiết
bị trong họ PIC18F97J60 tích hợp trên chip một bộ điều chỉnh. Bộ điều chỉnh được điều khiển
bởi chân ENVREG. Nối VDD tới các chân của bộ điều chỉnh, nối tiếp nhau, do đó, năng
lượng được cung cấp cho bộ điều chỉnh từ tất cả các chân VDD. Khi bộ điều chỉnh được kích
hoạt, một bộ lọc thông thấp ESR dùng tụ điện phải được kết nối với chân VDDCORE /
VCAP. Điều này giúp duy trì sự ổn định của bộ điều chỉnh. Giá trị được đề xuất cho các tụ
lọc.
Nếu ENVREG được gắn với VSS, bộ điều chỉnh bị vô hiệu hóa. Trong trường hợp
này, điện áp danh nghĩa 2.5V phải được cung cấp cho thiết bị tại chân VDDCORE/VCAP để
chạy các chân I/O ở điện áp cao hơn, thường là 3.3V. Ngoài ra,VDDCORE/VCAP và các
chân VDD có thể được gắn với nhau để hoạt động ở mức thấp hơnđiện áp danh định.
Bảng 1.1: Các tính năng chính của họ 18F97J60- loại 100 chân
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
14
Tính năng PIC 18F96J65 PIC 18F97J60 PIC 18F86J10
Tần số làm việc DC – 41.67 MHz DC – 41.67 MHz DC – 41.67 MHz
Bộ nhớ chương trình (bytes) 64K 96K 128K
Bộ nhớ dữ liệu (Instructions) 32764 49148 65532
Bộ nhớ dữ liệu (bytes) 3808
Số nguồn ngắt 29
Số cổng I/O Ports A, B,C, D, E, F, G, H, J
Số chân I/O 70
Bộ định thời 5
Modules CCP 2
Modules ECCP 3
Truyền thông nối tiếp MSSP (2), Enhanced USART (2)
Truyền thông Ethernet Có
Cổng truyền thông PSP Có
Bus bộ nhớ mở rộng Có
Modules A/D 10 bit 16 kênh vào
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
15
1.2.2. Sơ đồ chân PIC 18F97J60
Hình 1.3. Sơ đồ chân PIC18F97J60
Mô tả các chân của PIC18F97J60
MCLR-13- Master Clear: Reset thiết bị ở mức thấp
OSC1/CLKI-63- Đầu vào dao động thạch anh hoặc clock mở rộng.
• OSC1- đầu vào dao động thạch anh hoặc đầu vào nguồn clock mở rộng. Bộ
đệm ST khi đặt chế độ RC nội bộ, CMOS khác.
• CLKI- đầu vào nguồn clock mở rộng, luôn gắn liền với chân OSC1
OSC2/CLKO- 64- đầu ra bộ dao động thạch anh hoặc clock
• OSC2- đầu ra bộ dao động thạch anh. Kết nối với thạch anh hoặc bộ cộng
hưởng trong chế độ dao động thạch anh
• CLKO- trong chế độ RC nội bộ, chân OSC2 các đầu ra CLKO với tần số bằng
¼ tần số của OSC1
35- PORTA là 1 cổng I/O 2 chiều
• I/O- vào/ra số
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
16
• O- đầu ra chỉ thị Ethernet LEDA
• I- đầu vào tương tự 0
34- I/O- vào/ra số
• O- đầu ra chỉ thị Ethernet LEDB
• I- đầu vào tương tự 1
33- I/O- vào/ra số
• I- đầu vào tương tự 2
• I- đầu vào điện áp tham chiếu A/D
42- I/O- vào/ra số
• I- đầu vào clock mở rộng Timer 0
41- I/O- vào/ra số
• I- đầu vào tương tự 4
5- PORTB là một cổng I / O hai chiều. PORTB có thể được lập trình bằng phần mềm
để kéo tất cả các đầu vào còn kém lên.
• I/O- vào/ra số
• I- ngắt ngoài 0
• I- modun ECCP, có thể được kích hoạt bằng phần mềm
6- I/O- vào/ra số
• I- ngắt ngoài 1
7- ngắt ngoài 2
8- I/O- vào/ra số
• I- ngắt ngoài 3
• I/O- đầu vào capture2/ đầu ra so sánh 2/ đầu ra PWM 2
• O- đầu ra A của khối ECCP2 PWM
69- I/O- vào/ra số
• I – chân thay đổi ngắt trong
68- I/O- vào/ra số
• I – chân thay đổi ngắt trong
67- I/O- vào/ra số
• I- chân thay đổi ngắt trong
• I/O- chân gỡ rối trong mạch và chân clock các chương trình ICSP™
57- I/O- vào/ra số
• I- chân thay đổi ngắt trong
• I/O - chân gỡ rối trong mạch và chân dữ liệu các chương trình ICSP™
44- PORTC là một cổng I / O hai chiều
• I/O- vào/ra số
• O- đầu ra bộ dao động Timer1
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
17
• I- đầu vào clock mở rộng Timer1/Timer3
43- I/O- vào/ra số
• I- Đầu vào bộ dao động Timer1
• I/O- đầu vào Capture 2/đầu ra so sánh 2/ đầu ra PWM 2
• O- đầu ra A của khối ECCP2 PWM.
53- I/O- vào/ra số
• I/O- đầu vào Capture 2/đầu ra so sánh 2/ đầu ra PWM 1
• O- đầu ra A của khối ECCP1 PWM.
54- I/O- vào/ra số
• I/O- vào ra clock đồng bộ nối tiếp cho chế độ SPI
• I/O- vào ra clock đồng bộ nối tiếp cho chế độ I2C™
55- I/O- vào/ra số
• I- dữ liệu vào SPI
• I/O – vào ra dữ liệu I2C
56- I/O- vào/ra số
O - dữ liệu vào SPI
45- I/O- vào/ra số
• O- truyền tải không đồng bộ EUSART1
• I/O – xung clock đồng bộ EUSART1
46- I/O- vào/ra số
• I- nhận không đồng bộ EUSART1
• I/O- dữ liệu đồng bộ EUSART1
92-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 0
• I/O- cổng dữ liệu tớ song song
91- I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 1
• I/O - cổng dữ liệu tớ song song
90-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 2
• I/O - cổng dữ liệu tớ song song
89- I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 3
• I/O- cổng dữ liệu tớ song song
88- I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 4
• I/O- cổng dữ liệu tớ song song
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
18
O - dữ liệu ra SPI
87- I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 5
• I/O- cổng dữ liệu tớ song song
• I- dữ liệu vào SPI
• I/O – dữ liệu vào ra I2C™
84- I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 6
• I/O- cổng dữ liệu tớ song song
• I/O- đầu vào, đầu ra xung clock đồng bộ cho chế độ SPI
• I/O - đầu vào, đầu ra xung clock đồng bộ cho chế độ I2C™
83-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 7
• I/O- cổng dữ liệu tớ song song
• I- lựa chọn đầu vào SPI
4- PORTE là 1 cổng vào ra 2 chiều
• I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 8
• I- điều khiển đọc cho cổng tớ song song
O- đầu ra D cho khối ECCP2 PWM
3-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 9
• I- điều khiển ghi cho cổng tớ song song
• O- đầu ra C cho khối ECCP2 PWM
98-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 10
• I- chip lựa chọn điều khiển cho cổng tớ song song
O- đầu ra B cho khối ECCP2 PWM
97-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 11
O - đầu ra C cho khối ECCP3 PWM
96-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 12
• O - đầu ra B cho khối ECCP3 PWM
95-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 13
O- đầu ra C cho khối ECCP1 PWM
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
19
94-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 14
O- đầu ra B cho khối ECCP1 PWM
93-I/O- vào/ra số
• I/O- bộ nhớ địa chỉ/ dữ liệu mở rộng 15
• I/O- đầu vào Capture 2/đầu ra so sánh 2/ đầu ra PWM 2
O- đầu ra A của khối ECCP2 PWM
12- PORTF là 1 cổng vào ra 2 chiều
• I/O- vào/ra số
• I- đầu vào tương tự 5
28-I/O- vào/ra số
• I- đầu vào tương tự 6
O – đầu ra so sánh 2
23- I/O- vào/ra số
• I- đầu vào tương tự 7
• O- đầu ra so sánh 1
22-I/O- vào/ra số
• I- đầu vào tương tự 8
21- I/O- vào/ra số
• I- đầu vào tương tự 9
20- I/O- vào/ra số
• I- đầu vào tương tự 10
• O- đầu ra so sánh điện áp khác nhau
19-I/O- vào/ra số
• I- đầu vào tương tự 11
18-I/O- vào/ra số
• đầu vào lựa chọn SPI tớ
71- PORTG là 1 cổng vào ra 2 chiều
• I/O- vào/ra số
• I/O- đầu vào Capture 3/đầu vào so sánh 3/ đầu ra PWM 3.
• O- đầu ra A của khối ECCP3 PWM
70-I/O- vào/ra số
• O- truyền tải không đồng bộ EUSART2
• I/O- xung clock đồng bộ EUSART2
52- I/O- vào/ra số
• I- nhận dữ liệu không đồng bộ EUSART2
• I/O- dữ liệu đồng bộ EUSART2
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
20
51-I/O- vào/ra số
• I/O- đầu vào Capture 4/đầu vào so sánh 4/ đầu ra PWM 4
• O- đầu ra D của khối ECCP3 PWM
14-I/O- vào/ra số
• I/O- đầu vào Capture 5/đầu vào so sánh 5/ đầu ra PWM 5
• O- đầu ra D của khối ECCP1 PWM
11-I/O- vào/ra số
10-I/O- vào/ra số
38-I/O- vào/ra số
99- PORTH là 1 cổng vào ra 2 chiều
• I/O- vào/ra số
• O- bộ nhớ địa chỉ mở rộng 16
100-I/O- vào/ra số
• O- bộ nhớ địa chỉ mở rộng 17
1-I/O- vào/ra số
• O- bộ nhớ địa chỉ mở rộng 18
2-I/O- vào/ra số
• O- bộ nhớ địa chỉ mở rộng 19
27-I/O- vào/ra số
• I- đầu vào tương tự 12
• O- đầu ra C của khối ECCP3 PWM
26-I/O- vào/ra số
• I- đầu vào tương tự 13
• O- đầu ra B của khối ECCP3 PWM
25-I/O- vào/ra số
• I- đầu vào tương tự 14
• O- đầu ra C của khối ECCP1 PWM
24-I/O- vào/ra số
• I- đầu vào tương tự 15
• O- đầu ra B của khối ECCP1 PWM
49- PORT là 1 cổng vào ra 2 chiều
• I/O- vào/ra số
• O- cho phép chốt địa chỉ bộ nhớ ngoài
50-I/O- vào/ra số
• O- kích hoạt bộ nhớ ngoài
66-I/O- vào/ra số
• O- điều khiển ghi chậm vào bộ nhớ ngoài
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
21
61-I/O- vào/ra số
• O- điều khiển ghi nhanh vào bộ nhớ ngoài
47-I/O- vào/ra số
• O- điều khiển byte địa chỉ 0 bộ nhớ ngoài
48-I/O- vào/ra số
• O- điều khiển kích hoạt bộ nhớ ngoài chip
58-I/O- vào/ra số
• O- điều khiển byte thấp bộ nhớ ngoài
39-I/O- vào/ra số
• O- điều khiển byte cao bộ nhớ ngoài
9- không kết nối
15, 36, 40, 60, 65, 85- nối đất cho các chân vào ra và logic
17, 37, 59, 62, 86- cung cấp tín hiệu tích cực cho các chân vào ra và logiccủa thiết bị
ngoại vi kỹ thuật số
31- nối đất cho các modun tương tự
30- cung cấp tín hiệu tích cực cho các modun tương tự
29- kích hoạt bộ điều chỉnh điện áp trên chip
16- kết nối với lõi hoặc bộ lọc tụ điện bên ngoài.
Cung cấp tín hiệu logic tích cực cho lõi vi điều khiển
Kết nối bộ lọc tụ điện bên ngoài
82- nối đất khối Ethernet PHY PLL.
81- cung cấp điện áp 3.3V cho khối Ethernet PHY PLL
79- nối đất cho hệ con truyền tải của khối Ethernet PHY PLL
76- cung cấp điện áp 3.3V cho hệ con truyền tải của khối Ethernet PHY PLL
72- nối đất cho hệ con nhận dữ liệu của khối Ethernet PHY PLL
75- cung cấp điện áp 3.3V cho hệ con nhận dữ liệu của khối Ethernet PHY PLL
80- Xu hướng hiện tại cho Ethernet PHY. Phải được gắn với VSS thông qua một điện
trở.
78, 77- đầu ra các tín hiệu khác nhau của chuẩn truyền thông Ethernet
74, 73- đầu vào các tín hiệu khác nhau của chuẩn truyền thông Ethernet
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
22
1.2.3. Sơ đồ khối PIC18F97J60 (100-PIN)
Hình 1.4. Sơ đồ khối PIC18F97J60
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
23
1.2.3.1. Bộ dao động
Các thiết bị trong họ PIC18F97J60 kết hợp với một bộ dao động và hệ thống
xung clock trong vi điều khiển khác từ thiết bị chuẩn PIC18FXXJXX. Việc bổ sung
các mô-đun Ethernet, với yêu cầu tạo ra một nguồn xung clock 25 MHz ổn định, là
cần thiết để tạo ra một dao động chính có tần số này, cũng như một loạt các xung clock
của vi điều khiển có giới hạn khác nhau.
Hình 1.5. Cấu trúc bộ dao động
Các tính năng khác của bộ dao động được sử dụng trong vi điều khiển nâng cao
PIC18FXXJXX, chẳng hạn như bộ tạo dao động RC và chuyển đổi xung clock, vẫn
giữ nguyên. Chúng được thảo luận sau trong chương này.
Hoạt động của Ethernet và xung clock của vi điều khiển
Mặc dù các thiết bị của họ PIC18F97J60 có thể chấp nhận một loạt các thạch
anh và các đầu vào dao động bên ngoài, chúng luôn luôn phải có một nguồn clock 25
MHz khi sử dụng các ứng dụng Ethernet.
1.2.3.2. Tổ chức bộ nhớ
Có hai loại bộ nhớ trong các thiết bị vi điều khiển PIC18:
• Bộ nhớ chương trình
• Bộ nhớ dữ liệu
Như các thiết bị cấu trúc Harvard, các bộ nhớ dữ liệu và chương trình sử dụng
các bus riêng biệt, điều này cho phép truy cập đồng thời của hai không gian bộ nhớ.
a. Tổ chức bộ nhớ chương trình
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
24
Vi điều khiển PIC18 thực hiện một bộ đếm chương trình 21-bit có khả năng
định địa chỉ cho 1 không gian bộ nhớ chương trình 2-Mbyte. Toàn bộ họ PIC18F97J60
cung cấp ba kích cỡ của bộ nhớ chương trình Flash trên chip từ 64 Kbytes (lên tới
32.764single-word) đến 128 Kbytes (65.532 single-word).
Hình 1.6. Mô tả bộ nhớ chương trình
b. Tổ chức bộ nhớ dữ liệu
Bộ nhớ dữ liệu trong thiết bị PIC18 được thực hiện như RAM tĩnh. Mỗi thanh
ghi trong bộ nhớ dữ liệu có 12-bit địa chỉ, cho phép lên đến 4096 byte của địa chỉ bộ
nhớ. Không gian bộ nhớ được chia thành 16 bank, mỗi bank có chứa 256 byte. Tất cả
các thiếthọ PIC18F97J60 đều có sẵn các bank và cung cấp 3808 byte bộ nhớ dữ liệu có
sẵn cho người dùng.
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân
25
Hình 1.7 mô tả tổ chức bộ nhớ dữ liệu của thiết bị.
Bộ nhớ dữ liệu chứa các thanh ghi chức năng đặc biệt (SFRs) và thanh ghi mục
đích chung (GPRS). Các SFR có thể được sử dụng để kiểm soát tình trạng của bộ điều
khiển và các thiết bị ngoại vi, trong khi GPRS được sử dụng cho lưu trữ dữ liệu và
hoạt động trung gian trong các ứng dụng của người dùng.
Các tập lệnh và kiến trúc cho phép hoạt động trên tất cả các bank. Toàn bộ bộ
nhớ dữ liệu có thể được truy cập trực tiếp, gián tiếp hoặc chế độ giải quyết các vấn đề
đã chỉ định.
GVHD: ThS. Bùi Thị Duyên SVTH: Vũ Văn Cảnh
KS. Nguyễn Khánh Hưng Nguyễn Văn Phong
Lê Anh Quân