Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013đến kỹ thuật điện và điện tử, kỹ thuật khai khoáng, kỹ thuật hoá học, dượchọc, công nghiệp và nhiều hệ thống,
Trang 1Mục lục
Trang 2Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Danh mục hình ảnh
Trang 3A Lời nói đầu
• Nội dung của đợt thực tập:
- Tìm hiểu tổng quan về công ty
- Tìm hiểu các lĩnh vực hoạt động của công ty
- So sánh, đối chiếu kiến thức lý thuyết được trang bị với thực tế tại cơ quan
- Vận dụng kiến thức đã học để thao tác nghề nghiệp
- Lập trình ứng dụng sử dụng dòng Vi xử lý ARM CORTEX STM32F103
• Ý nghĩa của đợt thực tập:
- Giúp chúng em tiếp cận sớm với môi trường làm việc trong tương lai
- Định hướng nghề nghiệp cho bản thân
- Qua quá trình tìm hiểu về các yêu cầu tuyển dụng của công ty so sánh vớikiến thức, kỹ năng hiện có của bản thân để trong quá trình học tập chúng
em có thể chủ động bổ xung, rèn luyện các kiến thức, kỹ năng còn thiếu
để sau khi ra trường chúng em có thể chủ động, tự tin hơn tham gia ứng tuyển vào các vị trị trong công ty tuyển dụng
Trang 4Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
B NỘI DUNG Chương 1: Giới thiệu chức năng, nhiệm vụ, cơ cấu tổ chức của công ty1.1 Thông tin chung về doanh nghiệp
Tên tiếng việt: CÔNG TY TNHH MỘT THÀNH VIÊN ĐẦU TƯ VÀ PHÁT TRIỂN CÔNG NGHỆ HỒNG HÀ
Tên tiếng Anh: HONG HA TECHNOLOGY INVESTMENT AND
DEVELOPMENT ONE MEMBER COMPANY LIMITED
Tên công ty viết tắt: HH TIADO CO.,LTD
-Hiện công ty có đội ngũ đội ngũ giảng viên gồm những Tiến sĩ, Thạc sĩ và
Kĩ sư của trường Đại học Bách Khoa Hà Nội, cùng với đội ngũ nhân viên kinh
Trang 5doanh, kế toán, hành chính văn phòng trẻ, năng động tốt nghiệp từ trường lớp chínhquy, giàu kinh nghiệm để luôn đảm bảo, cam kết chất lượng dịch vụ với kháchhàng, đối tác Đội ngũ hiện đang được củng cố và phát triển.
Các phòng học được trang bị đầy đủ các thiết bị, máy móc phục vụ cho yêucầu từng môn, từng ngành học Trung Tâm đào tạo sử dụng giáo trình riêng
Công ty còn có bộ phận chăm sóc khách hàng rất chu đáo Mọi thắc mắc, yêucầu của quý khách hàng đều được nhân viên trong bộ phận này phục vụ tận tình.Chính điều này đã tạo cho khách hàng một sự yên tâm khi nhận những sản phẩmcủa công ty
Dù công ty mới thành lập nhưng với những nỗ lực không ngừng của Giámđốc và đội ngũ nhân viên, tất cả đều hy vọng sẽ đem đến sản phẩm tốt nhất, phục vụtận tình nhất cho khách hàng
1.3 Ngành, nghề kinh doanh
• Đào tạo ngành Điện – Điện tử - Công nghệ thông tin
• Đào tạo ngành Tin học ứng dụng: Tin học văn phòng, Kế toán máy, Đồ họa
• Sản xuất linh kiện điện tử
• Sản xuất thiết bị đo lường, kiểm tra, định hướng và điều khiển
• Sản xuất thiết bị đóng ở của bằng điện
• Sản xuất dây dụng cụ, dây phụ trợ và các bộ phận dây điện khác với dây vàkết nối cách điện
• Sản xuất dây phụ trợ được làm từ dây cách điện
• Sản xuất vật cách điện (trừ bằng thuỷ tinh và sứ), dây cáp kim loại cơ bản
• Sản xuất các thiết bị và cấu kiện điện dùng trong các động cơ đốt trong
• Sản xuất các thiết bị hàn điện, bao gồm máy hàn thép cầm tay
• Sửa chữa máy móc, thiết bị
• Lắp đặt hệ thống điện
• Hoạt động kiến trúc và tư vấn kỹ thuật: chuẩn bị và thực hiện dự án liên quan
Trang 6Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
đến kỹ thuật điện và điện tử, kỹ thuật khai khoáng, kỹ thuật hoá học, dượchọc, công nghiệp và nhiều hệ thống, kỹ thuật an toàn hoặc những dự án quản
lý nước; chuẩn bị các dự án sử dụng máy điều hoà, tủ lạnh, máy hút bụi và
kỹ thuật kiểm soát ô nhiễm, kỹ thuật âm thanh
Trang 7Chương 2: Nội dung thực tập
- Dòng Performance có tần số hoạt động của CPU lên tới 72 Mhz
- Dòng Access có tần số hoạt động lên tới 36 Mhz.Tuy nhiên có ít các ngoại vi hơn dòng Performance
Hiện nay ST đưa ra thêm 2 dòng nữa là USB Access và Connectivity.Các biến thể STM32 tương thích hoàn toàn về sơ đồ chân rất tiện cho thiết kế mạch in Trong cácnhóm lại được phân theo số lượng các thiết bị ngoại vi hỗ trợ, kích thước bộ nhớ flash mà chia thành các thiết bị với mật độ tích hợp khác nhau như: low density divices, medium density divices, high density divices, xl-line density divices, connectivity line divices
2.1.2 Bộ nhớ trong STM32
STM32 tuân theo tiêu chuẩn phân bố bộ nhớ của Cortex.Vùng nhớ code chia làm 3 vùng nhỏ
- Vùng User Flash dùng chứa code người dùng
- Vùng System memory có độ lớn 4kb được nhà sản xuất cài bootloader
Bootloader dùng để tải chương trình thông qua Usart1 và chứa trong User Flash
- Vùng Option byte chứa thông tin cấu hình STM32
Trang 8Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
- High speed internal oscillator hoạt động ở mức 8Mhz
- Low speed internal oscillator hoạt động ở mức 32768Khz được dùng cho đồng
- Hiệu năng tính toán cao
- Tương thích với tất cả các công cụ và phần mềm cho ARM hiện có trên thị trường
Đặc điểm STM32F103RC:
Trang 9- Là dòng Vi xử Lý 32 bit.
- Có 256K Bytes Program Flash, 48K Bytes RAM
- Tần số hoạt động tối đa 72Mhz
Trang 10Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Hình ảnh 4: Sơ đồ Schematic của STM32F103RCT6
2.3 Ngôn ngữ lập trình và công cụ lập trình.
• Lập trình bằng ngôn ngữ C
• Lập trình trên phần mềm Keil C
Giao diện phần mềm:
Trang 11Hình ảnh 5: giao diện phần mềm Keil C for ARM
Cách tạo project trên Keil C.
Mở Keil IDE, chọn menu “Project->New uVision Project” để tạo dự án mới -> chọn
nơi lưu
Trang 12Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Hình ảnh 6: cách tạo project mới
Trang 13Hình ảnh 8: Kit phát triển OPENCMX-STM3210D
2.4 Giao tiếp ngoại vi.
2.4.1 I/O port
Tùy vào loại vi điều khiển mà số lượng các cổng I/O port hỗ trợ với số lượng khác nhau.Và được đánh theo thứ tự bảng chữ cái A,B,C,D,E.Mức điện áp tiêu thụ là 5V Các pin trong các Port I/O có thể được cấu hình là các chân vào ra thông thường Input/Output (General purpose)hoặc có thể được cấu hình thành các chức năng thay thế (Alternate function),làm nhiệm vụ là đường giao tiếp CPU với các thiết bị ngoại vi bên ngoài
2.4.2 Gerneral purpose
Mỗi port sẽ có 2 thanh ghi cấu hình 32 bit là GPIOxCRL và
GPIOxCRH(CRH là configuration register high, CRL là configuration register low) và 2 thanh ghi chữa dữ liệu 32 bit đóng vai trò là các thanh ghi dịch khi nhận
dữ liệu và xuất dữ liệu đó là GPIOxIDR,GPIOxODR ,cùng với 1 thanh ghi
set/reset 32 bit GPIOxBSRR,1 th anh ghi reset 16 bit GPIOxRSR và 1 thanh ghi 32 bit GPIOxLCKR (locking register)
Mỗi bít trong port có thể được cấu hình bằng phần mềm là một trong 7 loại
Trang 14Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
+ Input floating:chế độ đầu vào thả nổi
+ Input Pull-up là đầu vào là sườn lên
+ Input Pull-down đầu vào là sườn xuống
+ Input Analog đầu vào là tín hiệu tương tự
+ Output open-drain
+ Output Push-pull
+ Alternate function push-pull: dùng cấu hình trong chức năng thay thế
+ Alternate function open-drain :dùng cấu hình trong chức năng thay thế
c Cấu hình input
Khi một port được cấu hình là Input thì
+ Cấu hình các thanh ghi CLR và CHR cho biết đây là chế độ Input,cùng với các loại
Input tương ứng
+ Dữ liệu trong I/O pin được lấy mẫu vào trong thanh ghi Input Data register.+ Một truy nhập đọc tới thanh ghi IDR này
d.Cấu hình Output
Khi một port được cấu hình là Output thi
+ Các thanh ghi CLR,CHR được cấu hình,
+ Dữ liệu trên thanh ghi ODR được đưa vào chân các pin ra ngoài
Ví dụ cấu hình chế độ Output trong chương trình c
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
Lệnh dòng 1 ta đang cấu hình cho pin 8 của port B
Dòng 2 thiết lập đầu ra Output ở max speed là 50Mhz
Dòng 3 thiết lập pin là Output loại push-pull
Trang 15Dòng 4 gọi hàm cấu hình port.
Ví dụ : Chương trình nhấp nháy LED
Đầu tiên ta phải khai báo cấu trúc cho GPIO: GPIO_InitTypeDef
2.5 Giao tiếp với LCD
Giới thiệu sơ lược về Text LCD
Text LCD là loại màn hình tinh thể lỏng nhỏ ,dùng để hiển thị các chữ số,kí tựtrong bảng mã ASCII,không giống như các LCD lớn ,các Text LCD hiển thị kí tự trên
các ô,mỗi ô chỉ chứa được 1 kí tự.việc hiển thị các kí tự chỉ là hiển thị các châm
Trang 16Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
ô.kích thước trên LCD được thể hiện bằng số dòng kí tự có thể hiển thị và số kí
tự có
thể hiển thị trên 1 dòng vi dụ như LCD 16x4,16x2…Trong phần này sử dụng loại text
LCD 1 l6x2
Có 2 mode để thực hiện giao tiếp với LCD đó là chế độ 8 bit và 4 bit
Mode 8 bit với mode này các chân từ D0-D7 được nối trực tiếp đến chân của port điều khiển.Ưu điểm của phương pháp này là việc ghi và xuất dữ liệu rất nhanh,vì
chỉ cần nhập hoặc xuất dữ liệu từ port ngay.Tuy nhiên nhược điểm của phương pháp
này là cần tới 8 pin nối với D0-D7 và 3 pin cho chân điều khiển LCD do vậy số lượng
pi của port phải dùng lớn.Nhằm khắc phục giảm số chân của vi điều khiển ta thực hiện
chế độ mode 4 bit
Mode 4 bit với mode này dữ liệu được chia thành 2 phần 4 bit cao và 4 bit thấp
do vậy số chân vi điều khiển cần nối tới LCD giảm 4 pin.các chân D0-D3 của LCDbỏ
trống.khi truyền dữ liệu thì Ưu tiên truyền 4 bit cao trước
Ví dụ: Biên dịch chương trình hiển thị dòng chữ trên LCD:
Dòng 1: “Bao Cao Thuc Tap”
Dòng 2: “SV:Tran Ngoc Tin”
Trang 17Hình ảnh 11: Ví dụ LCD
2.6 Truyền thông nối tiếp UART
STM32 RCT6 hỗ trợ lên tới 5 đường truyền USART Đường truyền USART1 hỗ trợ truyền tốc độ tối đa lên tới 4.5 Mbit/s, các đường USART còn lại hỗ trợ truyền tối đa chỉ lên tới 2.25 Mbit/s
Truyền thông nối tiếp:
• Một hạn chế rất dễ nhận thấy khi truyền nối tiếp so với song song là tốc độ truyền và độ chính xác của dữ liệu khi truyền và nhận
• Khái niệm “đồng bộ” để chỉ sự “báo trước” trong quá trình truyền Bằng cách “báo trước” này tất cả các bit dữ liệu có thể truyền/nhận dễ dàng với ít
“rủi ro” trong quá trình truyền
Khác với cách truyền đồng bộ, truyền thông “không đồng bộ” chỉ cần một đường truyền cho một quá trình “Khung dữ liệu” đã được chuẩn hóa bởi các thiết
bị nên không cần đường xung nhịp báo trước dữ liệu đến
Baud rate (tốc độ Baud): tốc độ truyền phải được cài đặt như nhau
Frame (khung truyền): Bên cạnh tốc độ baud, khung truyền là một yếu tốc quan
trọng tạo nên sự thành công khi truyền và nhận Khung truyền bao gồm các quy
Trang 18Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
định về số bit trong mỗi lần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra số lượng các bit trong một data cũng được quy định bởi khung truyền
Start bit: start là bit đầu tiên được truyền trong một frame truyền, bit này có chức
năng báo cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới
Data: data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận Parity bit: parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tương
đối) Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity) Parity chẵn nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity luôn là số chẵn Ngượclại tổng số lượng các số 1 trong parity lẻ luôn là số lẻ
Stop bits: stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói dữ liệu đã
được gởi xong
Một ngắt được khởi tạo nếu bit RXNEIE được set
Cờ lỗi có thể được set nếu lỗi frame truyền hoặc lỗi overrun được phát hiện trong suốt quá trình nhận
Trang 19 Việc xóa bit RXNE được thực hiện bởi phần mềm đọc thanh ghi
USART_DR
Cờ RXNE có thể được xóa bằng việc ghi bit 0 vào nó
Bit RXNE phải được xóa trước khi kết thúc quá trình nhận của ký tự tiếp theo để tránh lỗi overrun
Trang 20Khoa kĩ thuật điện- điện tử | Học viện công nghệ bưu chính viễn thông | 2013
Chương 3: Mạch đề tài thực tập3.1 Tổng quan và kĩ thuật áp dụng trong mạch
3.1.1 Giới thiệu
Trong đời sống hiện nay, việc sử dụng nút bấm trong các mạch điện thông dụng như trong nhà, các nhà máy, rất phổ biến Các nút bấm (button) được sử dụng với chức năng chính là bật tắt một thiết bị nào đó, làm thay đổi trạng thái hoạt động của 1 việc nào đó đặt trước Và một trong những loại nút bấm phải kể tới phímbấm cảm ứng Trong đề tài này mình sẽ giới thiệu về việc giao tiếp và sử dụng touchpad cảm ứng 4x4
3.2 Một số công nghệ và chuẩn giao tiếp
3.2.1 Chuẩn giao tiếp UART
3.2.1.1 Giới thiệu
Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là mộtchuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết
bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc
độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền
Có hia phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là
Trang 21chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi
là cổng Com Chúng được dùng ghép nối cho chuột, modem, thiết bị đo
lường Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp
3.2.1.2 Ưu điểm của giao diện nối tiếp RS232
• Khả năng chống nhiễu của các cổng nối tiếp cao
• Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện
• Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp
3.2.1.3 Những đặc điểm cần lưu ý trong chuẩn RS232
• Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm
• Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ 3V đến 12V
+-• Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn)
• Các lối vào phải có điện dung nhỏ hơn 2500pF
• Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm
• Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model
• Các giá trị tốc độ truyền dữ liệu chuẩn : 50, 75, 110, 750, 300, 600, 1200,
2400, 4800, 9600, 19200, 28800, 38400 56600, 115200 bps
3.2.1.4 Quá trình dữ liệu
a) Quá trình truyền dữ liệu
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự) Bộ truyền gửi một bit bắtđầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp the Bit này luôn bắt đầu bằng mức 0 Tiếp theo đó là các bit dữ liệu(bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó
là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng
b) Tốc độ Baud
Đây là một tham số đặc trưng của RS232 Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit Tốc độ bit được định nghĩa là số bit truyền được trong thời