让您展示您通过设计和实现嵌入式系统以满足所提供的系统规范。转让的结构
您的作品将通过黑板提交。您将被要求提交以下内容文件/文档。未能提交所有这些文件将导致分配原因是评估员将无法检查您的项目并测试其功能。您应该只在下面提交的B部分中提交单个项目的工作。A.要打开它:一个单独的文本文档(.doc、.docx或.rtf,而不是pdf)
ACS6127: Real-Time Embedded Systems Final Assignment1
This assignment contributes 50% towards ACS6127AimTo allow you to demonstrate the knowledge and skills that you have developed by designing andimplementing an embedded system to meet a provided system specification.Structure of the AssignmentDate assignment is available from: 0900 Monday, week 9, semester 1Date of assignment submission: 1200 noon Monday 16th January 2023Deadline for lab kit return: 1200 noon Monday 23rd January 2023Marks awarded: This assignment is marked out of 100Submission and return of the lab kitSubmission of your work will be through Blackboard. You will be required to submit the followingfiles/documents. Failure to submit all of these documents will lead to a mark of zero for theassignment. The reason for this is that the assessor will not be able to check your project and test itsfunctionality. You should only submit work for a single project in part B of the submission below.A. To Turn-it-In:A single text document (.doc, .docx or .rtf - not a pdf) divided into two parts, as follows:Part A.I: This section should explain the overall functionality of your code and how itimplements each level of the required specification in part A. It is restricted to amaximum of 2 pages of size 12 font, single line spacing and 2.54 cm margins. Asubmission with part A.I greater than 2 pages will get zero for the assignment.Part A.II: This section should contain all of your “.c” and “.h” source files that you created foryour project (e.g. main, my_headers and Thread files) copied and pasted in as text(Asubmission where the code is pasted as an image will get zero for the assignment).Please make sure that each file starts on a new page and is clearly labelled.B. To the standard Blackboard submission, the following files all attached in a single submission:1. A .zip compressed version (only .zip compression - no other compressed file types) of thecomplete project folder for your assignment. Please make sure that this folder contains: The Keil μVision project file for your design (this is the “.UVPROJX” file found in the topfolder of your project). All of your individual “.c” and “.h” source files that you created for your project (e.g.main, my_headers and Thread files). Your “system_stm32f4xx.c” file (found in the sub folder RTE->Device->STM32F407VGTxof your project). Your “RTX_Conf_CM.c” file (found in the sub folder RTE->CMSIS of your project).2. The .hex file produced by the compiler. You will need to open the “Options for Target‘Target 1’” window, select the Output tab and select the “Create HEX File” option. The“Name_of_your_project.hex” file will be created in the Objects sub-folder of your mainproject folder when you next run the compiler. It is the .hex file that will be run to test thefunctionality of your code – make sure that you run “build” before submission to ensure thatyou upload the latest version that matches your submitted project.Standard penalties for late submission apply (https://students.sheffield.ac.uk/assessment/results/submission)ACS6127: Real-Time Embedded Systems Final Assignment2Dr S A Pope The University of SheffieldLab kit should be returned to AJB reception. Unless an extension has been granted standard latesubmission penalties also apply to return of the lab kit.Restrictions
1. Restrictions
All code is to be solely developed using Keil μVision and the HAL drivers for the STM32F407. You areonly allowed to use library files or functions which are developed either by yourself, or which areavailable as part of the standard HAL drivers. Work developed using other software (includingSTM32CubeMX) and any code from restricted sources, will not be assessed.Assessment and Feedback processIMPORTANT: Your final source code should include your own original comments to fully explain itsoperation. It is not acceptable to copy and paste ANY comments provided in the teaching material(it is ok to include comments automatically generated by Keil in template files, such as Thread.c). Ifyour code does not contain sufficiently detailed comments for the assessor to understand itsoperation (code where comments are copied from the teaching material will be classed as notcommented) you will only be awarded 50% of the marks for that part of the specification, comparedto what you could have been awarded if your code was correctly commented. This is because youwill be deemed to have not been able to sufficiently explain your answer.Your work will be marked on a number of factors, including: How well your code meets the required specification (method, correctness, etc.) How robust your program design and code implementation is. How efficiently it runs and uses system resources (see Lecture 4) How well it is documented (see the previous statement about comments and note part A.I ofthe list of submitted documents).This is the final component of assessment for the embedded systems part of the module. This meansthat you might receive the mark and written feedback for your assignment after the exam board andat the same time as the final marks for the rest of your semester 2 modules. Full example solutionswill not be supplied as this will limit the assignments that can be set in future years.Unfair Means
2. Means
The lab should be completed individually. You should not discuss any aspect of it with otherstudents and should not work together in completing the lab. The lab must be wholly your ownwork. Any suspicions of the use of unfair means will be investigated and may lead to penalties. Seehttps://www.sheffield.ac.uk/ssid/unfair-means for more information. In addition to your Turn-it-Insubmission, your code will undergo additional checks. For example, MOSS is a specialist servicefocused solely on detecting plagiarism and collusion in code.Extenuating CircumstancesIf you have circumstances which mean you are unable to complete this work on time or that haveaffected your performance, please follow the extenuating circumstances process(https://students.sheffield.ac.uk/extenuating-circumstances). Extensions cannot be consideredunless the extenuating circumstances process has been followed.
3. Support
If you have any problems with the equipment please contact Dr S A Pope immediately using theemail address s.a.pope@sheffield.ac.uk. These inquiries should only relate to problems with theequipment, such as suspected faults. Any inquiry should include a clear description of the problem.Any general questions about the assignment should be posted to the relevant section of theBlackboard Discussion Forum.Please turn to the next page for the assignment briefingACS6127: Real-Time Embedded Systems Final Assignment3
Dr S A Pope The University of SheffieldAssignment Briefing
Your task is to design and implement a multifunction embedded system. It will have twomodes of operation. In the first mode it acts as a tilt switch and in the second mode it is instandby and simply blinks the LEDs on and off in a specific pattern. The mode change occursfollowing a click of the user button. Your design is required to meet the followingspecification. There are three levels to this specification, with each increasing the level offunctionality and complexity of the system and therefore the marks that can be gained.IMPORTANT:1. Your submitted assignment, irrespective of the specification level completed, is requiredto use the CMSIS-RTOS RTX real-time operating system to implement an appropriatemulti-thread solution. An assignment submitted without using the CMSIS-RTOS RTXreal-time operating system will receive a mark of zero.2. Your project is required to run correctly on any STM32F4Discovery with the samespecification as the one used in this module. Your submitted code will not be tested onthe STM32F4Discovery assigned to you, but on another STM32F4Discovery with thesame specification.3. You can assume that the accelerometer provides calibrated acceleration measurementsdirectly. This isn’t strictly true, but will be a sufficient assumption for this assignment.4. Configure the processor main clock to run at 168MHz.5. Add the following line of code immediately at the start of the int main(void){}function: SystemCoreClockUpdate();Specification - Level 1By completing this level you can achieve a maximum of 50 marks.The STM32F4Discovery board should be programmed to operate as a two axis tiltswitch.Unlike the example in the “Serial Communication, Polling andInterrupts” lab whichindicated when the board was tilted more than 90 degrees from the level position, this tiltswitch is required to have the following functionality and features:A. When the board is tilted from a flat horizontal orientation downwardsin the direction of any of the four user LED’s (the centre of the pivot isthe LIS3DSH) that LED should turn on – i.e the LED’s are used toindicate which edge of the board drops below the horizontal. If theboard is tilted down in the direction of more than a single LED, thenmultiple LEDs should illuminate.B. Your program should include a small deadzone so that for each of thesingle LED’s there is a small range of tilt angles in which only thatsingle LED illuminates (or no LEDs illuminate in the case of horizontalorientation).
C. Your tilt switch should have an appropriate level of sensitivity. TheLED’s should not flicker too much, nor should there be too much of alag in updating the LED states when the board changesorientation.Please turn over the page for the rest of the assignmentACS6127: Real-Time Embedded Systems Final Assignment4
Dr S A Pope The University of SheffieldSpecification - Level 2
By completing this level you can achieve an additional 20 marks.A. When the blue user button is “clicked”, the tilt switch from level 1should pause and indicate that it is paused by blinking the four userLEDs on and then off in the following pattern and starting with thegreen and red LED on. The red and green LED should turn on andremain on for 1 second. The red and greed LED should then turn offand the orange and blue LED immediately turn on and remain on for0.5 seconds. The orange and blue LED should then turn off and thesequence immediately repeat. The program should stay in this statewith this sequence repeating, until the blue button is clicked again,after which the tilt switch from level 1 will resume. This pausing stateshould be continuously available on further clicks of the button. A“click” means a press and release, so that the change in state occursafter the button is released.Specification - Level 3
By completing this level you can achieve an additional 30 marks.A. The STM32F4Discovery incorporates a “CS43L22, audio DAC with integratedclass D speaker driver”. You have not directly used this peripheral thus far, butyou have covered all of the techniques that you need to work out how to use itand to implement the required code. This device can be used to provide anaudio output when either headphones or speakers are connected to the audiojack on the STM32F4Discovery. This component should be used to provide anaudible output in the form of a “beep” played through a set of headphones, toindicate, in addition to the flashing LEDs, that the system is in the pause staterequired in Level 2. The “beep” should be clear and of an appropriate volumefor headphones to be used. Your Part A.I submission should describe whichcommunication interfaces are used by the CS43L22 to interface with theSTM32F407 and it should explain how you have configured them.The data sheet for the “CS43L22, audio DAC with integrated class D speakerdriver” is provided on Blackboard in the same folder as the assignment briefingsheet.Please only submit a single project which contains all of the required functionality thatyou have managed to achieve.If you have not achieved some of the functionality for a level, but have made an attemptat it, please comment this part out and ensure that it is well commented/documented sothat you can gain some method marks. You should make it clear in Part A.I of thesubmission that you have made an attempt, but commented the code out for this reason.If the work for a level has been commented out and not described in part A anddocumented to describe its operation, it will gain no additional marks.This is the last page of the assignment
WX:codehelp
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。