\setcounter{numTAs}{1} \setcounter{totalSections}{1} \def\secNum{{"001",""}} \def\tenSchFileName{{"",""}} \def\classTime{{"MWF from 10:40 am to 11:30 am in Tolentine Hall 426.",""}} \def\classRm{{"Tolentine Hall 426",""}} \def\classLive{{"",""}} \def\classInstructor{{"James C. Peyton-Jones",""}} \def\classInstrContact{{"",""}} \def\classInstrOffHrs{{"MWF 11:30-12:30, other times by request",""}} \def\classInstrLive{{"",""}} \def\TA{{{"TBD",""},{""}}} \def\TAEmail{{{"",""},{""}}} \def\TAOffHrs{{{"",""},{""}}} \def\TARoom{{{"",""},{""}}} \newcommand\semester{Spring 2024} \newcommand\rsemester{202430} \newcommand\courseNum{ECE 2430} \newcommand\courseName{Embedded Systems I} \newcommand\courseCoordinator{James C. Peyton-Jones} \newcommand\credits{3} \newcommand\contactHrs{3} \newcommand\lecture{1} \newcommand\lab{0} \newcommand\undergradCourse{1} \newcommand\isFreshmanCourse{0} \newcommand\isCustomElecPolicy{0} \newcommand\isClassLive{0} \newcommand\isLabLive{0} \newcommand\meetingMiscExists{0} \newcommand\isClassInstrLive{0} \newcommand\isLabInstrLive{0} \newcommand\instrMiscExists{0} \newcommand\hasTARoom{0} \newcommand\meetingDesc{three 50-minute lectures each week} \newcommand\meetingMisc{Special notes on meeting info go here, if specified} \newcommand\instructorMisc{Special notes on instructor(s), TA(s) go here, if specified} \newcommand\textBookExists{1} \newcommand\textBookReqd{0} \newcommand\textBookMiscExists{0} \newcommand\referencesExist{0} \newcommand\txtBkAuthExists{1} \newcommand\txtBkPublExists{0} \newcommand\txtBkYrExists{0} \newcommand\txtBkISBNExists{0} \newcommand\textBookTitle{Digital Design \& Computer Architecture (ARM Edition)} \newcommand\textBookAuth{SL Harris \& DM Harris} \newcommand\textBookPub{} \newcommand\textBookYr{} \newcommand\textBookISBN{} \newcommand\supplMaterials{\\• ‘Blanked out’ copies of the course lecture notes are posted on Blackboard. \\• Homework assignments are posted on Blackboard \\• Solutions to homework assignments are also posted on Blackboard } \newcommand\refPapers{References go here, if specified} \newcommand\textBookMisc{Special notes on textbook(s) go here, if specified} \newcommand\catalogDesc{Introduction to logic design and digital computer fundamentals. Topics include computer arithmetic, Boolean algebra and logical design, basic concepts of computer architecture, programming and interfacing microcontrollers.} \newcommand\preReqs{ECE 1260} \newcommand\coReqs{ECE 2431} \newcommand\coreRequirement{Required for BS EE students} \newcommand\courseExpectation{The objective of this course is to introduce the students to embedded systems, focusing both on how to design and use them as well as on the principles on which they work. The course also includes an introduction to IoT.} \newcommand\ABETOutOne{1} \newcommand\ABETOutTwo{0} \newcommand\ABETOutThree{0} \newcommand\ABETOutFour{0} \newcommand\ABETOutFive{0} \newcommand\ABETOutSix{0} \newcommand\ABETOutSeven{0} \newcommand\covTopics{\item • Introduction: \\- Why embedded systems and IOT\\- Basic system architecture: CPU, Memory and Peripherals\\- Memory types and hierarchy; Moore’s Law \item • Peripheral Devices:\\- General Purpose Input Output (GPIO)\\- Output drive: Push-Pull, Open-Drain, High-Z\\- Analog input (A/D conversion), Pulse Width Modulated output.\\- PWM, Servo Motor, and Tone outputs. \item • Data Storage and Number Systems\\- Data types, encoding and data storage\\- Binary, 2’s Complement Binary, Hex\\- Addition, Subtraction, Carry and oVerflow \item • Introduction to Boolean Expressions and Digital Logic\\- Boolean expressions, Logical operators, Boolean operators \item - Bitwise combinatorial logic and shifting \item • Interrupts \& Finite State Machines\\- GPIO, and Timer Interrupts\\- Interrupt Service Routines\\- Finite State Machines and Sequential Logic\\- volatile, static, enumerated data types \item • Cloud Programming and Integration:\\- Encoding data for the web: JSON and XML\\- Communication and Transport models and protocols: UDP, TCP/IP, HTTP, MQTT\\- Generating and responding to Cloud-based Events: Pub/Sub vs Req/Resp\\- Integration tools: Pipedream, IFTTT, ThingSpeak, NodeRed. \item • Serial Communication Protocols:\\- UART / RS232 serial communications\\- I2c protocol and communications\\- SPI protocol and communications \item • Assembly Language Programming:\\- Introduction to Assembly Language programming } \newcommand\isScheduleExternal{0} \newcommand\isScheduleCommon{1} \newcommand\scheduleRows{1} \newcommand\scheduleCols{1} \newcommand\scheduleHeight{1} \newcommand\schedule{\begin{table}[h!] \centering \caption*{Tentative Schedule for \textbf{All Sections}} \vspace{0.05in} {\renewcommand{\arraystretch}{1.5} \small \begin{tabularx}{\linewidth}{c} \toprule \large \textbf{The schedule will follow the list of topics, though specific dates cannot be assigned yet}\\ \midrule \midrule \bottomrule \end{tabularx} } \end{table}} \newcommand\gradingPolicy{The in-class course ECE 2430 and Lab component ECE 2431 will be taught in a highly integrated manner, with some homeworks amounting to Lab Projects. Written \textbf{Homework} assignments will be posted on Blackboard, together with \textbf{Solutions}. This work will not be graded, but student learning on each homework will be assessed by means of a 10-20 minute ‘in-class’ \textbf{Quiz}. Makeup Quizzes will not be offered. \\ \\Tentative grade weightings will be as follows: \\• Quizzes \hspace*{1.2cm} 80\% \\• Final Project \hspace*{0.2cm} 20\% \\ \\Letter grade scale: A(93--100), A--(90--92), B+(87--89), B(83--86), B--(80--82), \\C+(77--79),C(73--76), C--(70--72), D+(67--69), D(63--66), D--(60--62), F(<60)} \newcommand\HWandLabPolicy{As noted above, Homework assignments will be posted together with solutions so no submission is required. Please note, however, that to do well in the quiz requires actually \textbf{doing} the homework and using the solutions \textbf{only} when you get stuck rather than simply reading the solutions. } \newcommand\AttendancePolicy{\textcolor{red}{Attendance is expected for classes but will not be checked. Attendance is mandatory for quizzes.}} \newcommand\ElectronicsPolicy{\textcolor{red}{Since you opted for a customize electronics policy, you should edit this part. Your policy should address your general stance on recording of class sessions and the circumstances under which recording will be allowed or prohibited. If you generally prohibit recording, yet allow recording of certain classes for some reason, then ypu should notify all students that those classes will be recorded. If recording is permitted as an ADA accommodation for a student, you obviously should not identify that student(s).)}}